我正在尝试修改自定义签入策略以适用于 Visual Studio 2013。
起初,我试图在 2013 年的清单中添加一个新部分:
<VisualStudio Version="12.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>
虽然这允许它安装,但它不允许策略运行(如果我转到 TFS 的策略>>添加部分,它不存在,并且策略引发异常,说明策略未注册)。
经过大量搜索,我认为 Policies.pkgdef 可能存在问题 - VS2013 中的扩展管理器将其显示为已安装,但在 Pending Changes 中未显示为已安装。但是我也看不出有任何问题:
[$RootKey$\TeamFoundation\SourceControl\Checkin Policies]
"VersionOneTFSPolicy"="$PackageFolder$\VersionOneTFSPolicy.dll"
我在 2013 年打开并编译了它,并修复了所有参考问题,以便它能够正确编译,但它似乎仍然不喜欢使用它。
VS2013 管理自定义签入策略是否与 2010/2012 不同?据我所知,它应该只适用于清单更改和重新编译。
编辑
因此,我设法通过将引用Microsoft.TeamFoundation.VersionControl.Client
从 11 升级到 12 并将项目升级到 .Net 4.5 来让自定义策略在 VS2013 上运行。但是,现在这会导致自定义策略在 VS2012 上无法使用(我也会假设 2010 年,但我还没有测试过)。有没有办法让这个在 2010 年到 2013 年从单个 VSIX 运行?