【发布时间】:2013-08-20 09:44:14
【问题描述】:
我有一系列项目需要编译和发布,部署到具有单独 MSBuild 参数的单独目录。就目前而言,我对每个都有单独的构建。比如项目一:
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 参数适用于所有项目。有没有一种快速的方法可以强制每个项目使用一组不同的构建参数,或者我是否需要创建一个新的构建模板来执行此操作?
【问题讨论】:
-
我想不出任何不涉及在模板 XAML 中修改的东西。
-
您是否有正在使用的自定义 MSBUILD 脚本?当我使用 TFS2008(直接使用 TFSBuild.proj msbuild 脚本)时,我们有一个类似的问题需要解决。我们当时所做的是编辑 TFSBuild.proj 文件以添加在构建期间传入的其他 MSBUILD 属性(例如:target_proj1、publishDir_proj1、Target_proj2 等)。然后在基于正在编译的项目的 MSBUILD 脚本中,我们将适当的属性传递给 MSBUILD.exe 调用。
-
IIRC TFSBuild.proj 文件在 2010 年被 WF Xaml 文件取代。我将对此进行更正。
-
是的,它们在 2010 年被 WF XAML 取代,这就是我说“是”时的原因。如果您使用的是 XAML,那么就像 DaveShaw 提到的那样,您将不得不使用 XAML 来满足您的需求。
标签: tfs msbuild tfsbuild msbuild-4.0