Visual studio 2013 VS 2013没有';我看不到我的自定义签入策略

Visual studio 2013 VS 2013没有';我看不到我的自定义签入策略,visual-studio-2013,vsix,checkin-policy,Visual Studio 2013,Vsix,Checkin Policy,我有通过VSIX部署的自定义签入策略。现在我正试图在VisualStudio2013中使用它们 我所做的: 我在2013年开始投保。将vsixmanifest中的“安装目标”更改为[10.0,13.0]。 然后构建项目,安装VSIX并打开两个VS VSIX项目使用.NETFramework 4.5,策略项目使用4.0 我所拥有的: C:\Users\…\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions目录中我的策略的最新版本 201

我有通过VSIX部署的自定义签入策略。现在我正试图在VisualStudio2013中使用它们

我所做的: 我在2013年开始投保。将vsixmanifest中的“安装目标”更改为[10.0,13.0]。 然后构建项目,安装VSIX并打开两个VS

VSIX项目使用.NETFramework 4.5,策略项目使用4.0

我所拥有的:

  • C:\Users\…\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions
    目录中我的策略的最新版本
  • 2012年和2013年的策略副本与
    C:\Users\…\AppData\Local\Microsoft\VisualStudio\11.0(和12.0)\Extensions中的策略副本相比
  • 在注册表中为
    HKEY\u CURRENT\u USER\Software\Microsoft\VisualStudio\11.0\u Config(和12.0\u Config)\TeamFoundation\SourceControl\Checkin Policys中的两个VS输入策略路径
现在,当我想在
团队项目设置->源代码管理->签入策略->添加
中应用它们时,我可以在VS 2012中选择我的自定义策略,但VS 2013就是看不到它们

我能做些什么来修复它

UPD:

因此,我通过将
Microsoft.TeamFoundation.VersionControl.Client
的汇编版本从11.0更改为12.0,解决了我的问题
策略项目中的.NET Framework版本从4.0到4.5

我也遇到了同样的问题,一个在VS2008/2010上运行的自定义策略没有在vs2013中正确安装。最后,我在vs2013中打开了自定义策略项目,然后我阅读了Microsoft.TeamFoundation.VersionControl.Client参考并编译了它。现在它可以正常工作,并识别为相同的pol请参阅VS2010。

如原始海报所示,.NET版本和引用的客户端对象模型:

  • 对于Visual Studio 2005,您需要引用
    8.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 2.0项目
  • 对于Visual Studio 2008,您需要引用
    9.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 3.0项目
  • 对于Visual Studio 2010,您需要引用
    10.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 4.0项目
  • 对于Visual Studio 2012,您需要引用
    11.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 4.0项目
  • 对于Visual Studio 2013,您需要引用
    12.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 4.5项目
  • 对于Visual Studio 2015,您需要引用
    14.0.0.0
    程序集,并且您的项目必须是AnyCPU.NET 4.6项目
如果安装了多个Visual Studio版本,则需要多次部署程序集,每个Visual Studio版本部署一次。这些程序集必须具有相同的
AssemblyName
和相同的
AssemblyVersion
,并使用相同的强名称签名

每个策略必须在注册表中的以下注册表项下注册:

  • HKEY\U LOCAL\U MACHINE\Software\Microsoft\VisualStudio\{VisualStudioVersion}\TeamFoundation\SourceControl\Checkin策略
  • HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\{VisualStudioVersion}\TeamFoundation\SourceControl\Checkin策略
    (仅限64位操作系统)
  • HKEY\u CURRENT\u USER\Software\Microsoft\VisualStudio\{VisualStudioVersion}\u Config\TeamFoundation\SourceControl\Checkin Policies
    (应通过运行
    devenv/setup
    自动添加)

A.

签入策略引用了某些特定于Visual Studio版本的程序集,您需要更改对VS2013的引用并重新编译。@JoachimIsaksson,谢谢,这很有帮助!但是现在VS2012没有看到策略。有没有更好的方法为两个VS制定策略,而不是将两个版本不同的ddl放入VSIX?没有我知道,对不起。我正在使用VSIX将签入策略分发到VS 2012和VS 2013?我使用两个单独的VSIX项目工作;一个针对2012,另一个针对2013?由于2012和2013签入策略程序集需要具有相同的程序集名称,是否有方法可以使用sin部署到两个版本的VSgle VSIX包项目?谢谢。到目前为止,我也在使用不同的VSIX,我建议为此发布一个新问题。