Ste*_*oss 2 msbuild tfs tfsbuild
我正在尝试在VS/TFS2010中配置团队构建.我希望MSBuild参数包含以下内容:
/p:Changeset=BuildDetail.SourceGetVersion
Run Code Online (Sandbox Code Playgroud)
我希望MSBuild扩展"BuildDetail.SourceGetVersion".我知道如何通过编辑xaml来做到这一点,但我希望有一种方法可以让它无需工作.有任何想法吗?
您需要执行TFS任务
<UsingTask
TaskName="Microsoft.TeamFoundation.Build.Tasks.GetBuildProperties"
AssemblyFile="C:\Program Files\Microsoft Team Foundation Server 2010
\Tools\Microsoft.TeamFoundation.Build.ProcessComponents.dll"
/>
<Target Name="MyTarget">
<GetBuildProperties
TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)">
<Output TaskParameter="BuildNumber" PropertyName="BuildNumber" />
<Output TaskParameter="SourceGetVersion" PropertyName="SourceGetVersion" />
</GetBuildProperties>
</Target>
Run Code Online (Sandbox Code Playgroud)
我使用属性来计算程序集的路径,因为它可能会有所不同,因为在开发人员计算机上它将在Visual Studio安装下(我认为在PrivateAssemblies中).
由于属性是从目标执行动态生成的,因此基于此属性执行的任何操作都必须动态计算.基于$(SourceGetVersion)形成全局静态属性将不起作用.当然,您可以计算它,然后使用MSBuild任务来运行实际构建,但由于您需要传递其他属性,因此这变得乏味.如果你想要更好的东西,你最终会在我做的地方,重写Xaml以将其传递给MSBuild Action.
| 归档时间: |
|
| 查看次数: |
1616 次 |
| 最近记录: |