我有通过VSIX部署的自定义签入策略。现在我正在尝试在Visual Studio 2013中使用它们。
我做了什么: 我在VS 2013中打开了我的策略。将vsixmanifest中的“安装目标”更改为[10.0,13.0)。 然后构建项目,安装VSIX并打开VS.
VSIX项目使用.NET Framework 4.5,策略项目使用4.0。
我有什么:
C:\Users\...\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions
目录C:\Users\...\AppData\Local\Microsoft\VisualStudio\11.0(and 12.0)\Extensions
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
答案 0 :(得分:6)
正如原始海报发布的那样,.NET版本和引用的客户端对象模型:
8.0.0.0
程序集,您的项目必须是AnyCPU .NET 2.0项目。9.0.0.0
程序集,您的项目必须是AnyCPU .NET 3.0项目。10.0.0.0
程序集,您的项目必须是AnyCPU .NET 4.0项目。11.0.0.0
程序集,您的项目必须是AnyCPU .NET 4.0项目。12.0.0.0
程序集,您的项目必须是AnyCPU .NET 4.5项目。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
自动添加)答案 1 :(得分:2)
我遇到了同样的问题,在VS 2008/2010上运行的自定义策略无法在vs2013中正确安装。最后我在VS 2013中打开了自定义策略项目,然后我读了Microsoft.TeamFoundation.VersionControl.Client引用并编译它。现在它的工作和认可与VS2010相同。