我有一系列需要编译和发布的项目,使用单独的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参数适用于所有项目。有没有一种快速的方法可以为每个项目强制一组不同的构建参数,或者我是否需要创建一个新的构建模板来执行此操作?
答案 0 :(得分:1)
我担心,您需要新的构建模板来将其他参数传递给模板。
但是,如果您尝试将构建输出发布到基于不同Project的不同目录,则可以通过为每个项目设置相同的发布配置文件来实现它。为具有相同名称的每个Project添加发布配置文件。您可以使用文件系统发布方法将输出发布到每个项目的不同目录。只需调用MsBuild参数中的Publish配置文件即可。
/p:DeployOnBuild=true;PublishProfile=Dev
答案 1 :(得分: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
文件即可。