我正在尝试修改自定义Checkin策略以对抗Visual Studio 2013.
首先,我尝试在2013年的清单中添加一个新部分:
<VisualStudio Version="12.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>
虽然这允许它安装,但它不允许策略运行(如果我转到策略&gt;&gt;添加部分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运行?
答案 0 :(得分:1)
在没有任何其他解决方案的情况下,我恢复了经过试验和测试的更新扩展并将其构建为新包的方法。所以只需拥有2012版本和完全独立的2013版本。
答案 1 :(得分:0)
我也试图解决这个问题,从我发现的所有内容中,获得针对所有版本的扩展的唯一方法是实际创建3个单独的(2010年,2012年和2013年)扩展,并使用InstallShield安装它们包含每个包作为按顺序安装的子功能的包。
然后,当VSIX实际进行安装时,逐个升级。
可能对此有所帮助的链接包括: