Visual Studio 2015 年自定义 TFS 签入政策

Custom TFS Check-In Policy in Visual Studio 2015

不久前,我的团队开发了一个自定义的 TFS 签入策略,它在 Visual Studio 2013 上运行良好。我修改了版本(12 到 14),使相同的规则适用于 Visual Studio 2015.

对于 VS2013,我有这些注册表项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio.0\TeamFoundation\SourceControl\Checkin Policies]
  "MyCheckInPolicy"="C:\My\MyCheckInPolicy2013.dll"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\My\MyCheckInPolicy2013.dll"

对于 VS2015,我添加了注册表项:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio.0\TeamFoundation\SourceControl\Checkin Policies]
      "MyCheckInPolicy"="C:\My\MyCheckInPolicy2015.dll"

它反映在以下注册表项中

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio.0_Config\TeamFoundation\SourceControl\Checkin Policies]
    "MyCheckInPolicy"="C:\My\MyCheckInPolicy2015.dll"

我还添加了注册表项

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio.0\TeamFoundation\SourceControl\Checkin Policies]
      "MyCheckInPolicy"="C:\My\MyCheckInPolicy2015.dll"

但我运气不好。我还在 VS2015 中打开了我的签入政策项目并重建了它(试图针对各种不同的框架:4、4.5、4.5.1、4.5.2、4.6),但都没有成功。

有人知道为什么我无法在“添加签入策略”对话框中显示此策略吗?

请确保您引用了正确的程序集,请尝试按照以下步骤解决此问题。

  1. 在VS2015中打开你的签到策略项目

  2. 删除引用 Microsoft.TeamFoundation.VersionControl.Client.dll

  3. 添加TFS 2015参考版本,应该在

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\fronpghg.gen

或者您可以通过 运行 在程序包管理器控制台中的以下命令安装 Microsoft Team Foundation Server Extended Client

PM > Install-Package Microsoft.TeamFoundationServer.ExtendedClient -Version 14.102.0

  1. 重建项目。

  2. 在 Windows 注册表中注册自定义策略

  3. 如果你的OS是64位的,你必须在Wow6432Node下添加密钥,而不是MSDN上声明的路径: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio.0\TeamFoundation\SourceControl\Checkin 政策

  4. 重启电脑,启动VS查看自定义签入策略

参考:https://msdn.microsoft.com/en-us/library/bb668980.aspx?f=255&MSPPError=-2147217396