前段时间我的团队开发了一个自定义的TFS签到策略,该策略在Visual Studio 2013中运行良好。我修改了从(12到14)的版本,使相同的规则适用于Visual Studio 2015。
对于VS2013,我有这些注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\My\\MyCheckInPolicy2013.dll"
和
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\12.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\My\\MyCheckInPolicy2013.dll"
对于VS2015,我添加了注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\My\\MyCheckInPolicy2015.dll"
它反映在以下注册表项
中[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\My\\MyCheckInPolicy2015.dll"
我还添加了注册表项
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\14.0\TeamFoundation\SourceControl\Checkin Policies]
"MyCheckInPolicy"="C:\\My\\MyCheckInPolicy2015.dll"
但我没有运气。我还在VS2015中打开了我的签到策略项目并重建了它(尝试针对各种不同的框架:4,4.5,4.5.1,4.5.2,4.6),但都没有运气。
任何人都知道为什么我无法在添加签到策略对话框中显示此策略?
答案 0 :(得分:1)
请确保您引用了正确的程序集,请尝试按照以下步骤解决此问题。
在VS2015中打开签到政策项目
删除引用 Microsoft.TeamFoundation.VersionControl.Client.dll
C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \扩展\ fronpghg.gen
或者您可以通过在程序包管理器控制台中运行以下命令来安装 Microsoft Team Foundation Server Extended Client
PM>安装包Microsoft.TeamFoundationServer.ExtendedClient -Version 14.102.0
重建项目。
在Windows注册表中注册自定义策略
如果您的操作系统是64位,则必须在Wow6432Node下添加密钥,而不是在MSDN上声明的路径: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ SourceControl \ Checkin政策
重新启动计算机,启动VS以检查自定义的签入策略。
参考:https://msdn.microsoft.com/en-us/library/bb668980.aspx?f=255&MSPPError=-2147217396