我有一系列需要编译和发布的项目,部署到具有独立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参数适用于所有项目。是否有一种快速的方法可以强制每个项目使用一组不同的构建参数,或者我是否需要创建一个新的构建模板来做到这一点?
发布于 2013-08-20 13:08:06
恐怕,您需要新的构建模板来向模板传递额外的参数。
但是,如果您试图根据不同的项目将构建输出发布到不同的目录,则可以通过为每个项目设置相同的发布配置文件来实现。为每个同名的项目添加发布配置文件。可以使用文件系统发布方法将输出发布到每个项目的不同目录。只需在MsBuild参数中调用发布概要文件即可。
/p:DeployOnBuild=true;PublishProfile=Dev发布于 2013-08-20 21:20:09
我建议您创建一个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文件即可。
https://stackoverflow.com/questions/18331869
复制相似问题