VS 2013没有看到我的自定义签到策略

Дми*_*нко 2 vsix checkin-policy visual-studio-2013

我有通过VSIX部署的自定义签入策略.现在我正在尝试在Visual Studio 2013中使用它们.

我做了什么: 我在VS 2013中打开了我的策略.将vsixmanifest中的"Install Targets"更改为[10.0,13.0].然后构建项目,安装VSIX并打开两个VS.

VSIX项目使用.NET Framework 4.5,策略项目使用4.0.

是)我有的:

  • C:\Users\...\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions目录中我的策略的最新版本
  • 2012年和2013年VS的政策副本 C:\Users\...\AppData\Local\Microsoft\VisualStudio\11.0(and 12.0)\Extensions
  • 用于VS的注册表中的策略路径的密钥 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config(and 12.0_Config)\TeamFoundation\SourceControl\Checkin Policies

现在,当我想要应用它们时Team Project Settings -> Source Control -> Check-in Policy -> Add,我可以在VS 2012中选择我的自定义策略,但VS 2013却看不到它们.

我该怎么办才能修复它?

UPD:

于是,我改变的程序集的版本解决我的问题Microsoft.TeamFoundation.VersionControl.Client,从11.0到12.0 .NET Framework版本在政策的项目,从4.0到4.5

jes*_*ing 6

正如原始海报发布的那样,.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_LOCAL_MACHINE\Software\Microsoft\VisualStudio\{VisualStudioVersion}\TeamFoundation\SourceControl\Checkin Policies
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\{VisualStudioVersion}\TeamFoundation\SourceControl\Checkin Policies (仅限64位操作系统)
  • HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\{VisualStudioVersion}_Config\TeamFoundation\SourceControl\Checkin Policies(应该通过运行自动添加devenv /setup)

一个更广泛的演练可以在我的博客上找到.