1

我有一系列项目需要编译和发布,部署到具有单独 MSBuild 参数的单独目录。就目前而言,我对每个都有单独的构建。例如,项目 1:

MSBuild Arguments: /target:myTarget /property:PublishDir=\\1.1.1.1\PublishDir1

和项目2:

MSBuild Arguments: /target:myTarget /property:PublishDir=\\1.1.1.2\PublishDir2

但是我想将它们合并到一个版本中。我遇到的问题是,虽然 TFS 允许我在构建中指定多个项目,但 MSBuild 参数适用于所有项目。有没有一种快速的方法可以强制每个项目使用一组不同的构建参数,或者我是否需要创建一个新的构建模板来执行此操作?

4

2 回答 2

1

恐怕,您需要新的构建模板才能将其他参数传递给模板。

但是,如果您尝试根据不同的项目将构建输出发布到不同的目录,则可以通过为每个项目设置相同的发布配置文件来实现。为每个具有相同名称的项目添加发布配置文件。您可以使用文件系统发布方法将输出发布到每个项目的不同目录。只需调用 MsBuild 参数中的发布配置文件。

/p:DeployOnBuild=true;PublishProfile=Dev
于 2013-08-20T13:08:06.547 回答
1

我建议您创建一个 MSBuild.proj文件来执行构建,即:

<Project ToolsVersion="4.0" DefaultTargets="Rebuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Rebuild" >
<!--Execute proj1-->
<MSBuild Projects="Proj1.csproj" Properties="Configuration=Debug;PublishDir=\\1.1.1.2\PublishDir1;></MSBuild> 
<!--Execute proj2-->
<MSBuild Projects="Proj2.csproj" Properties="Configuration=Debug;PublishDir=\\1.1.1.2\PublishDir2;></MSBuild> 
</Target>
</Project>

只需将您的 tfs 指向此自定义.proj文件。

于 2013-08-20T21:20:09.067 回答