我期待扩展一些构建后任务,以包括检出和检入DLL。我们正在使用TFS,并且我知道有一些命令行工具可以执行此操作。我不知道如何做的是将这些集成到我现有的构建任务中。现在我的发布任务很简单,并通过项目属性在Visual Studio中进行管理。最终,我想将我的自定义构建任务分解为外部文件并调用它们,但这是另一个问题的主题;)Visual Studio构建任务 - TFS操作
2
A
回答
0
您可以使用Team Foundation Server client API。 TeamFoundationServer是应该允许您连接到服务器,列出和操作TFS项目的基类。
0
Msbuildtasks有一些带有源代码(它的开源)的msbuild扩展。您可以使用它来创建自己的签入/签出功能。 (在什么达林建议组合)
4
没有求助于自定义生成的任务,你可以尝试使用Team Foundation Source Control Command-Line tool(tf.exe)。
下面的示例显示了如何使用tf.exe从TFS检出文件。
<PropertyGroup>
<TfCommand>
"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\tf.exe"
</TfCommand>
</PropertyGroup>
<Target Name="AfterCompile">
<Exec Command="$(TfCommand) get /force /noprompt "$(SolutionRoot)\sources\example.cs""
ContinueOnError="true" />
<Exec Command="$(TfCommand) checkout "$(SolutionRoot)\sources\example.cs""
ContinueOnError="true"/>
</Target>
将其包含在您自己的MSBuild项目文件中。
这个例子没有做任何有用的事情,你需要改变它以符合你的环境,但也许它给你一个开始。
我从tfsbuild.com得到了这个例子。
0
查看CodePlex上的SDC Tasks Library。这是一组定制的MSBuild任务,包括签入和签出任务(请参阅随附文档中的Microsoft.Sdc.Tasks.SourceTfs命名空间)。您可以将这些任务合并到项目文件中的“AfterBuild”目标中。
<SourceTfs.Checkout Path="Path" TfsVersion="tfsVersion"
WorkingDirectory="workingDirectory"/>
<SourceTfs.Checkin Path="Path" Comments="Comments" TfsVersion="tfsVersion"
WorkingDirectory="workingDirectory" Override="overrideText"/>
您可以根据需要将TfsVersion设置为“2005”或“2008”。
0
我们的团队有几个小项目输出其他几个项目使用的DLL。我们发布的一部分是发布这些DLL。我为此使用了AfterDropBuild目标。希望我的构建脚本代码段中的注释足以清楚地表明我正在做什么。
<!-- Get a reference to the new release address finalizer DLL and the existing published address finalizer DLL -->
<PropertyGroup>
<ReleaseDLL>$(DropLocation)\$(BuildNumber)\Release\Address_Finalizer.dll</ReleaseDLL>
<PublishedFolder>$(SolutionRoot)\3rd Party\bin\PG File Import</PublishedFolder>
<PublishedDLL>$(PublishedFolder)\Address_Finalizer.dll</PublishedDLL>
</PropertyGroup>
<!-- Check out the published DLL -->
<Exec WorkingDirectory="$(SolutionRoot)" Command='$(TfCommand) checkout /lock:checkout "$(PublishedDLL)"'/>
<!-- Copy release to published -->
<Copy SourceFiles="$(ReleaseDLL)" DestinationFolder="$(PublishedFolder)"/>
<!-- Check in the published DLL -->
<Exec WorkingDirectory="$(SolutionRoot)" Command='$(TfCommand) checkin /override:Automated /noprompt /comment:"$(VersionComment)" "$(PublishedDLL)"'/>
相关问题
- 1. 在visual studio和tfs构建触发器构建任务
- 2. TFS 2015 visual studio构建任务不支持VS 2017
- 3. TFS 2017 - 构建服务器不构建Visual Studio 2017
- 4. TFS 2015 Visual Studio构建项目变量
- 5. Visual Studio 2010 TFS构建错误
- 6. 构建从Visual Studio失败TFS 2013 2010
- 7. TFS VNext构建和实体框架迁移 - Visual Studio团队服务(Visual Studio Online)
- 8. 如何使用Visual Studio 2017与TFS Visual Studio构建步骤
- 9. 是否需要在TFS构建服务器上安装Visual Studio?
- 10. 从构建在Visual Studio团队服务
- 11. TFS构建2015 - 使用Visual Studio 2015构建过程
- 12. TFS 2015构建任务 - 手动干预
- 13. TFS 2015构建任务 - NuGet Packager
- 14. Visual Studio 2010 RC:构建解决方案不再执行任何操作
- 15. 如何让其他xgsubmitted任务与Visual Studio构建任务共享cpus?
- 16. 的Visual Studio - 构建
- 17. Visual Studio 2012 TFS
- 18. TFS Visual Studio 2k13
- 19. Visual Studio团队服务构建问题
- 20. 如何显示Visual Studio Online构建任务Write-Verbose语句?
- 21. 几个“构建任务”为Visual Studio代码(蟒蛇)
- 22. Visual Studio C#项目中的自定义构建操作属性
- 23. Visual Studio 2008 Professional缺少构建操作属性
- 24. visual studio团队服务构建问题
- 25. 无法创建TFS任务
- 26. 从MSBuild任务传递值到TFS构建工作流程
- 27. 什么是TFS 2012等效TFS 2008执行任务的构建?
- 28. Visual Studio 2010的工作流设计器显示的构建任务无国界
- 29. 连接到Visual Studio Online构建/测试任务中的外部服务
- 30. Visual Studio任务列表
尼斯......你可能要添加的命令行工具,你在道路,所以如果你移动到x64构建中,您不必更新编译文件。 –