【问题标题】:How do I set the "Version control path to custom assemblies" for custom MSBuild tasks如何为自定义 MSBuild 任务设置“自定义程序集的版本控制路径”
【发布时间】:2010-08-12 12:15:38
【问题描述】:

使用 TFS 2010 构建控制器/代理,可以选择为所有构建代理上可用的自定义程序集设置版本控制路径。文档指出这适用于自定义工作流活动以及自定义 MSBuild 任务(大约在页面中间):

http://msdn.microsoft.com/en-us/library/ee330987.aspx

有人知道如何将此功能用于自定义 MSBuild 任务吗?我使用自定义任务检查了版本控制程序集,并将我们的构建控制器上的选项设置为正确的版本控制路径。但我不知道程序集在构建代理上的位置以及如何从我的 MSBuild 目标文件(即 UsingTask)中引用它。

我什至在构建代理上搜索了该程序集但找不到它...

非常感谢任何帮助!

【问题讨论】:

    标签: tfs msbuild build-agent


    【解决方案1】:

    这是答案:版本控制路径的内容存储在此文件夹中的构建代理中:

    C:\Documents and Settings\<user>\Local Settings\Temp\BuildAgent\<num>\
    

    其中 是运行构建服务的帐户, 是您的构建代理的编号。

    我不知道为什么一开始它不存在,以及是什么导致构建代理最终从源代码管理中获取它。如果版本控制路径发生更改或内容更新,也许只需要一些耐心?

    【讨论】:

    • 如果构建服务作为 NT AUTHORITY\NETWORK SERVICE 运行,您将在较新版本的 Windows 上找到此文件夹:`C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp\BuildAgent\ `.
    【解决方案2】:

    这是可能的,但更简单的解决方案是将您的自定义 MSBuild 任务检查到版本控制中的共享位置,然后将该位置映射到您的构建的源配置中。这也将更容易将 MSBuild 任务用于桌面和服务器构建。

    【讨论】:

    • 只要您有一个分支并且很少创建新版本,这可能会起作用。但是我们会定期为它们创建新的分支和构建,开发人员经常在分支之间切换。如果可能,您能否简要描述一下方法,以便我们对其进行测试并确定它是否适合我们?
    【解决方案3】:

    我在 TFS 2012 中使用 $(Temp)\BuildAgent\$(BuildAgentID)。请注意,在 TFS 2010 中它略有不同。不要期望这在未来的版本中会保持稳定。

    【讨论】:

      猜你喜欢
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2014-11-20
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      相关资源
      最近更新 更多