标签: multi-project

如何在 Visual Studio 2017 中创建“使用自定义向导的多项目模板”

我正在寻找有关使用自定义向导(以允许输入自定义参数)制作多项目模板(即包含多个项目的可部署解决方案)的帮助。

我已经按照“如何:创建多项目模板”来制作多项目模板。这是有效的。

我已经按照“如何:将向导与项目模板一起使用”在我的 VSIX 文件中创建我的向导。这是有效的。

但是,我无法让他们一起工作。我可以在没有向导的情况下部署我的多项目模板,或者我可以通过我的 VSIX 文件,使用一个有效的自定义向导将我所有的单个项目模板显示在项目库中。

关于如何结合这两种方法的任何想法?

wizard multi-project visual-studio-templates vsix visual-studio-2017

6
推荐指数
1
解决办法
3062
查看次数

如何在多项目解决方案模板中包含“解决方案项”文件

我正在尝试为 Visual Studio 2019 创建多项目解决方案模板。我可以在多个文件夹中成功添加多个项目。

作为下一步,我想将本地文件添加到解决方案的根目录中,甚至添加到诸如.gitignore, nuget.config,... 文件的文件夹中,但到目前为止还没有运气。

下面是我的.vstemplate文件,注释行是我要添加的文件。我已经尝试过这种方式,将线条放在一个<SolutionFolder>块中,将它们放在ProjectCollection块外,......

<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
  <TemplateData>
    <Name>Test Application</Name>
    <Description>A project template for creating a basic Test Application</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>false</CreateNewFolder>
    <DefaultName>MaestroApp</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <BuildOnLoad>true</BuildOnLoad>
    <Icon>M.png</Icon>
  </TemplateData>
  <TemplateContent>
    <ProjectCollection>
<!--
        <ProjectItem ReplaceParameters="false" TargetFileName=".gitattributes">.gitattributes</ProjectItem>
        <ProjectItem ReplaceParameters="false" TargetFileName=".gitignore">.gitignore</ProjectItem>
        <ProjectItem ReplaceParameters="false" TargetFileName="directory.build.props">directory.build.props</ProjectItem>
        <ProjectItem ReplaceParameters="false" TargetFileName="nuget.config">nuget.config</ProjectItem>
        <ProjectItem ReplaceParameters="false" TargetFileName="README.MD">README.MD</ProjectItem>-->
      <SolutionFolder Name="Documents" CreateOnDisk="true"></SolutionFolder>
      <SolutionFolder Name="src" CreateOnDisk="true">
        <ProjectTemplateLink ProjectName="$projectname$" CopyParameters="true">
          MaestroApplicationTemplate\MyTemplate.vstemplate
        </ProjectTemplateLink>
        <ProjectTemplateLink ProjectName="$projectname$.Data" CopyParameters="true">
          MaestroApplicationTemplate.Data\MyTemplate.vstemplate
        </ProjectTemplateLink> …
Run Code Online (Sandbox Code Playgroud)

multi-project project-template visual-studio

6
推荐指数
1
解决办法
804
查看次数

Gradle multiproject,更改defaut构建文件名(build.gradle)

我们在根项目中有一个带有settings.gradle且没有build.gradle的多项目.

gradle的默认行为是查看top dir上的settings.gradle文件,并为之前定义的每个项目读取build.gradle.

我的问题是:根据已检出多项目的环境,我想在从根项目运行构建时以默认"build2.gradle"而不是"build.gradle"运行.

最好的方法是什么?

谢谢

build multi-project gradle

5
推荐指数
1
解决办法
2156
查看次数

SBT/Play2多项目设置不包括运行/测试中类路径中的依赖项目

我有以下SBT/Play2多项目设置:

import sbt._
import Keys._
import PlayProject._

object ApplicationBuild extends Build {
  val appName         = "traveltime-api"
  val appVersion      = "1.0"

  val appDependencies = Seq(
    // Google geocoding library
    "com.google.code.geocoder-java" % "geocoder-java" % "0.9",
    // Emailer
    "org.apache.commons" % "commons-email" % "1.2",
    // CSV generator
    "net.sf.opencsv" % "opencsv" % "2.0",

    "org.scalatest" %% "scalatest" % "1.7.2" % "test",
    "org.scalacheck" %% "scalacheck" % "1.10.0" % "test",
    "org.mockito" % "mockito-core" % "1.9.0" % "test"
  )

  val lib = RootProject(file("../lib"))
  val chiShape = RootProject(file("../chi-shape"))

  lazy val …
Run Code Online (Sandbox Code Playgroud)

scala multi-project sbt playframework-2.0

5
推荐指数
1
解决办法
1245
查看次数

在Jenkins上构建多项目Gradle

我在Mercurial仓库中托管了Gradle多项目.我想以这样的方式设置我的Jenkins,如果我只对1个子项目进行更改,那么只会构建该子项目并将其发布到我的Nexus repo.

有人可以给我一个暗示吗?或者它是否可能?

multi-project gradle jenkins

5
推荐指数
1
解决办法
2103
查看次数

多项目解决方案模板

我正在创建具有Web应用程序,桌面,少数类库和单元测试项目的多项目解决方案模板.

我构建了基本容器并将其打包为VSIX容器.当我安装VSIX容器时,我可以在以下物理路径中使用我的解决方案模板的.zip文件

%AppData%\ Local\Microsoft\VisualStudio\11.0\Extensions\tbxs0hui.w2e\ProjectTemplates\CSharp\1033\myprojecttemplate.zip,所以一切都很好.

但是当我启动Visual Studio 2012时,我看不到新项目 - > Visual C#下列出的我的解决方案模板.

当我出错的时候?有什么建议?

这是Multisolution RootTemplate.vstemplate内容:

<?xml version="1.0" encoding="utf-8"?>
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:sdk="http://schemas.microsoft.com/developer/vstemplate-sdkextension/2010">
<TemplateData>
<Name>MultiProject</Name>
<Description>MultiProject</Description>
<Icon>MultiProject.ico</Icon>
<ProjectType>CSharp</ProjectType>
<RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
<SortOrder>1000</SortOrder>
<TemplateID>bbd7217a-8572-4edc-80ce-488cb9a347df</TemplateID>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>MultiProject</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
</TemplateData>
<TemplateContent>    
<ProjectCollection>
<SolutionFolder Name="FolderName1">
  <SolutionFolder Name="FolderName2">
    <ProjectTemplateLink ProjectName="xxxxx">Children\Application1\Application1.vstemplate</ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="yyyy">Children\Application1\Application2.vstemplate</ProjectTemplateLink>        
  </SolutionFolder>
  <SolutionFolder Name="Folder3">
    <ProjectTemplateLink ProjectName="zzzzzz">Children\Application3\Application3.vstemplate</ProjectTemplateLink>
  </SolutionFolder>
  <SolutionFolder Name="Web">
    <ProjectTemplateLink ProjectName="Web">Children\Web\Web.vstemplate</ProjectTemplateLink>
  </SolutionFolder>
</SolutionFolder>    
<SolutionFolder Name="Tests">      
    <ProjectTemplateLink ProjectName="xxxxxTest">Children\ApplicationxxxxUnitTest\ApplicationxxxxUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="yyyyyTest">Children\ApplicationyyyyUnitTest\ApplicationyyyyUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="zzzzzTest">Children\ApplicationzzzzUnitTest\ApplicationzzzzUnitTest.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="WebTest">Children\ApplicationWebUnitTest\ApplicationWebUnitTest.vstemplate</ProjectTemplateLink>
</SolutionFolder>   
</ProjectCollection>
</TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

在安装VSIX之后,我可以在VS2012中看到一个名为"MultiProject"的新项目.当我创建一个新项目时,四个测试项目没有在Tests文件夹下创建.我尝试用vstemplate中的Tests Folder下的类库替换它们,它工作正常,只有ProjectTypeGuid {3AC096D0-A1C2-E12C-1390-A8335801FDAB}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}的单元测试项目未在测试文件夹下创建.

multi-project project-template vsix visual-studio-extensions visual-studio-2012

5
推荐指数
1
解决办法
2413
查看次数

如何在子项目任务结束时一次执行Gradle任务

我正在处理以下项目结构

Project
|-Subproject1
|-Subproject2
|build.gradle
|settings.gradle
Run Code Online (Sandbox Code Playgroud)

子模块包含在根项目的中,settings.gradle并在build.gradle根项目中进行配置。

我有3件事要做

  1. build (每个子项目都有这个)
  2. deploy (这是每个子项目需要独立工作的打包机制)
  3. finalizeDeployment (仅需调用一次)

我希望能够打电话

$gradle deploy< -所有子项目得到部署并最终确定被调用一次,在结束

$gradle Subproject1:deploy <-Subproject1被部署并完成被调用

build.gradle

Project
|-Subproject1
|-Subproject2
|build.gradle
|settings.gradle
Run Code Online (Sandbox Code Playgroud)

multi-project gradle

5
推荐指数
1
解决办法
2万
查看次数

将所有 gradle 构建工件组装到一个目录中

我们正在从 Maven 迁移到 Gradle,并且正在努力解决一件事。我们有一个基于 Maven 的 POM 的多项目 Gradle 项目。大部分工作正常,但我们找不到收集 WAR 文件和 ZIP 文件的方法,这些文件是构建子项目的结果。每个子项目代表一个微服务。我们已经找到(也在 Stackoverflow 上)将所有 jar 和第三方库收集到一个目录中的方法。但是,我们正在寻找一种方法来收集每个微服务的资源和库。在 Maven 中我们做了这样的事情:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>Publish/</outputDirectory>
                        <artifactItems>
                            <artifactItem>
                                <groupId>....</groupId>
                                <artifactId>...</artifactId>
                                <version>${project.version}</version>
                                <type>zip</type>
                            </artifactItem>
                            <artifactItem>
                                <groupId>....</groupId>
                                <artifactId>...</artifactId>
                                <version>${project.version}</version>
                                <type>war</type>
                            </artifactItem>
Run Code Online (Sandbox Code Playgroud)

我希望最终得到一个可以找到的目录:

project1.war
project2.war
project3.zip
etc.
Run Code Online (Sandbox Code Playgroud)

multi-project gradle

5
推荐指数
1
解决办法
6167
查看次数

Gradle子项目构建依赖项

我有一个依赖问题,我不知道如何解决它.

我有一个项目A,B和C.

A需要B和C.

B需要C

我的目录结构如下所示:

A
|-settings.gradle
|-build.gradle
|-lib
   |- B
   |- C
Run Code Online (Sandbox Code Playgroud)

settings.gradle内容:

include 'lib/B'
include 'lib/C'
Run Code Online (Sandbox Code Playgroud)

build.gradle内容:

apply plugin: 'java'
dependencies {
  compile project(':lib/B'), 
          project(':lib/C') 
}

project(':lib/B'){
  dependencies {
    compile project(':lib/C')
  }
}
Run Code Online (Sandbox Code Playgroud)

如果我不声明项目(':lib/B'){...}部分,则由于依赖性而无法构建项目B.

如果我声明项目(':lib/B'){...}部分,Gradle告诉我:无法在org.gradle.api.internal上找到参数[project':lib/C']的方法compile() .artifacts.dsl.pendencies.DefaultDependencyHandler_Decorated @ 221bad.

我怎么能解决它,或者在B之前编译C?

PS:数据结构更改是不可能的.

java dependencies multi-project subproject gradle

4
推荐指数
1
解决办法
1万
查看次数

Gradle多项目并行构建消耗100%的CPU时间

系统信息
在此输入图像描述

软件信息
操作系统
在此输入图像描述
Java:OpenJDK 12.0.2
Gradle:5.6.2

启用并行构建的构建 Gradle 多项目问题几乎消耗了所有 CPU 时间。PC 在构建过程中不可交互

重现 步骤
1.2.3 .git clone --recursive https://github.com/vividus-framework/vividus.git
cd vividus
./gradlew build

multi-project gradle

4
推荐指数
1
解决办法
1256
查看次数