1

我有一个为 Visual Studio 2015 开发的扩展,我想开始测试 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 的扩展,如果可以,如何调试?

4

1 回答 1

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。实验实例。那时断点被击中等,因为它从文件夹中加载了扩展。

于 2016-09-10T22:10:11.073 回答