如果使用不同的VS进行编译,Visual Studio Extension无法正常工作

时间:2015-09-15 07:47:54

标签: c# visual-studio visual-studio-extensions

我安装了两个版本的Visual Studio:2013和2015。 我想创建VS扩展(vsix),它将适用于两个版本VS,但如果我调试不同版本,则不会触发Package.Initialize方法:

在VS2015上从VS2013开始调试 - 扩展不工作,方法未调用。

在VS2013上从VS2015开始调试 - 扩展不工作,方法未调用。

在VS2015上从VS2015开始调试 - 扩展工作。

在VS2013上从VS2013开始调试 - 扩展工作。

包装定义包含以下属性:     [PackageRegistration(UseManagedResourcesOnly = true)]     [InstalledProductRegistration(“#110”,“#112”,“1.0”,IconResourceID = 400)]     [的Guid(GuidList.guidVSPackageTest20132PkgString)]     [ProvideAutoLoad(UIContextGuids80.SolutionExists)]

在清单安装目标设置为[12.0,14.0]

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要调试特定VS版本的软件包,您需要调整两件事:

1)在项目的Debug属性页面中,选择所需的devenv.exe可执行文件。

2)在.csproj文件中,为步骤#1的devenv.exe选择匹配的VS SDK版本(VS 2015为14.0,VS 2013为12.0):

<PropertyGroup>
   ...
   <VisualStudioVersion>14.0</VisualStudioVersion>
   <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
   ...