【发布时间】:2010-12-22 14:36:26
【问题描述】:
所以我有一个可以编译为 C++ DLL 的解决方案 我有另一个解决方案是 WPF 应用程序。
这两个解决方案都存在于我们 TFS 服务器上的同一个 TeamProject 中。
我想自动化构建过程,以便当 C++ 解决方案在服务器上构建时,如果成功,它会自动将结果检查到 WPF 解决方案中。
提前感谢您的帮助。
【问题讨论】:
所以我有一个可以编译为 C++ DLL 的解决方案 我有另一个解决方案是 WPF 应用程序。
这两个解决方案都存在于我们 TFS 服务器上的同一个 TeamProject 中。
我想自动化构建过程,以便当 C++ 解决方案在服务器上构建时,如果成功,它会自动将结果检查到 WPF 解决方案中。
提前感谢您的帮助。
【问题讨论】:
虽然我还没有完全解决这个问题,但正确的起点是 - http://geekswithblogs.net/jakob/archive/2010/11/03/performing-checkins-in-tfs-2010-build.aspx
有关创建自定义构建模板的更全面的演练: http://blogs.msdn.com/b/jimlamb/archive/2010/02/12/how-to-create-a-custom-workflow-activity-for-tfs-build-2010.aspx
现在我只需要弄清楚如何映射工作区,设置文件输出以便我可以重新检查 dll,但模板现在可以工作了。
【讨论】:
一个选项是设置TFS Dependency Replicator。
此示例配置将等待 MyBuildType 完成,然后将 /Release/MyAssembly.dll 从构建输出目录签入到 $/Trunk/Dependencies/MyAssembly.dll:
<?xml version="1.0" encoding="utf-8" ?>
<Rules>
<Rule
BuildType="MyBuildType"
EventType="New"
Source="/Release/MyAssembly.dll"
Destination="$/Trunk/Dependencies/MyAssembly.dll" />
</Rules>
【讨论】:
这是完全可能的!
我不知道您将在 WPF 解决方案中更改多少文件,但最简单的方法是使用适当的 TFS command line commands 签出然后签入相关文件。这篇文章中有一个例子:Visual Studio Build Tasks - TFS Operations
第二种选择是创建您自己的自定义构建任务,该任务将为您执行结帐/签入。
【讨论】: