如何使用Visual Studio 2015调试visual studio 15的扩展?

时间:2016-09-07 14:00:25

标签: visual-studio visual-studio-2015 visual-studio-extensions visual-studio-2017

我为Visual Studio 2015开发了extension,我想开始测试Visual Studio 15。

要尝试执行此操作,我将项目设置为启动C:\Program Files (x86)\Microsoft Visual Studio\VS15Preview\Common7\IDE\devenv.exe而不是C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe,并将命令行参数设置为/rootsuffix Exp。我还在清单中设置了适当的安装目标:

<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0,15.0)" />
<InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Pro" />
<InstallationTarget Version="[14.0,15.0)" Id="Microsoft.VisualStudio.Enterprise" />
<InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Enterprise" />
<InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Pro" />
<InstallationTarget Version="15.0" Id="Microsoft.VisualStudio.Community" />

(我也尝试了[14.0,16.0)的安装目标。)

当我调试项目时,VS 15的实验实例启动正常,但它没有安装扩展。

是否可以使用Visual Studio 2015调试visual studio 15的扩展程序,如果是,如何?

1 个答案:

答案 0 :(得分:0)

发生的事情是扩展程序仍然安装到VS2015实验实例。这是因为proj文件中的这些行:

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
...
<Import Project="$(VSToolsPath)\VSSDK\Microsoft.VsSDK.targets" Condition="'$(VSToolsPath)' != ''" />

因为我在运行VS2015,所以目标文件的路径已解析为VS2015。它定义了VSIX如何安装到实验实例。

我尝试更改对较新的VSSDK目标文件的引用,但是这会导致我不想涉及的各种错误。

为了测试我调试它的扩展(使它在VS2015实验上安装),在文件结构(VS14Exp)中找到已安装的扩展,将其复制到VS15文件夹,再次调试,启动VS15 devenv。实验实例。此时,断点被点击等,因为它从文件夹中加载了扩展名。