2013-10-28 41 views
2

我试图修改自定义签入策略,以对抗的Visual Studio 2013年VSIX自定义签入策略不加载

工作一开始,我尝试只需添加一个新的部分清单为2013:

<VisualStudio Version="12.0"> 
    <Edition>Ultimate</Edition> 
    <Edition>Premium</Edition> 
    <Edition>Pro</Edition> 
</VisualStudio> 

虽然这允许它安装,但它不允许策略运行(如果我转到策略>>添加TFS部分它不存在,并且策略抛出一个异常,指出策略不是注册)。

经过大量的狩猎活动后,我认为可能存在Policies.pkgdef问题 - VS2013中的扩展程序管理器显示它为已安装,但未显示为已安装在挂起的更改。不过,我看不出任何问题,它可以:

[$RootKey$\TeamFoundation\SourceControl\Checkin Policies] 
"VersionOneTFSPolicy"="$PackageFolder$\VersionOneTFSPolicy.dll" 

我打开了它,并在2013年编制的,并固定任何引用问题,以便它可以正确编译,但它仍然似乎没有像使用它。

VS2013是否以2010/2012的不同方式管理自定义签入策略?从我所能看到的,它应该与清单更改和重新编译一起工作。

编辑

所以我设法从11参考Microsoft.TeamFoundation.VersionControl.Client升级到12升级项目到.NET 4.5获得VS2013运行自定义策略。但是,现在这使得自定义策略在VS2012上无法使用(我也会假设2010年,但是我还没有测试过)。有没有一种方法可以在2010年到2013年期间从单个VSIX开始运行?

回答

1

在没有任何其他解决方案的情况下,我恢复了更新扩展并将其构建为新包的经过验证的方法。因此只需拥有2012版本和完全独立的2013版本即可。

0

我试图解决这个问题,并且从我发现的所有东西中,获取以所有版本为目标的扩展的唯一方法是实际创建3个单独的(2010,2012和2013)扩展,并使用InstallShield软件包将每个软件包作为按顺序安装的子功能部件。

随着VSIX实际上正在进行安装,将逐个升级。

链接,可以帮助您解决这个包括:

Single extension targeting VS 2012 and VS 2013

How to target an extension in both VS2012 and VS2010