无法调试VSIX项目

Rub*_*ans 8 c# debugging visual-studio-2010 visual-studio-debugging vsix

我正在尝试开发我的第一个visual studio扩展项目,我已经安装了VS10 SDK并且能够创建一个新项目并且可以很好地构建它,但是当我尝试调试符号时没有加载.我知道我可以调试到VSIX项目,因为我已经在网上下载了一个示例项目并且它已经加载了符号并且断点正好受到影响http://weshackett.com/2009/11/configure-vsix-project-to-enable -debugging /).所以必须特别关注我创建VSIX项目的方式(也许!).我注意到的一件事是,dll和文件没有被复制到本地"应用程序数据"区域,只复制清单,而对于示例项目,所有文件都被复制,包括dll.我比较了两者之间的项目设置,它们都是相同的.我希望这是有道理的,如果我能提供更多细节,请告诉我......

Rub*_*ans 17

好的,我设法让它工作.为了做到这一点,我不得不卸载vsix项目并将文件编辑为xl文档.

从项目文件中删除以下行:

<IncludeAssemblyInVSIXContainer>
    false
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
    false
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
    false
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
    false
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
    false
</CopyOutputSymbolsToOutputDirectory>
Run Code Online (Sandbox Code Playgroud)

或者将它们设置为true:

<IncludeAssemblyInVSIXContainer>
    true
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
    true
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
    true
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
    true
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
    true
</CopyOutputSymbolsToOutputDirectory>
Run Code Online (Sandbox Code Playgroud)

或者如果它们不存在,则将它们添加到...节点下.

删除这些行并重新构建解决方案后,dll和pdb现在按预期复制到bin\debug文件夹以及"AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions \"文件夹中.

  • 不幸的是,关于这个主题的这些建议似乎都没有帮助,vsix 调试完全混乱了。 (2认同)

Goo*_*ies 11

在 VS-2019 中,我正在开发一个 VSIX 异步,它工作得很好,但是在某个时刻,Visual Studio 实验版本停止在调试模式下加载我的 VSIX。

我不确定根本原因,但它与在 Visual Studio 的同一解决方案中打开第二个 VSIX 项目模板同时发生。不知道这是否与该问题有关,但在第一次运行时,我发现两个 VSIX-es 都加载到实验版本会话中。那时,我关闭并重置了实验版本。在接下来的运行中,调试时似乎没有 VSIX 被加载到实验版本中..非常令人沮丧!

我找到的解决方案,摆弄

  • 关闭Visual Studio 的所有实例
  • 使用“开始”菜单中的命令行工具重置 Visual Studio 实验版本。
  • 打开VS,加载VSIX 解决方案
  • 清理您的 VSIX 解决方案
  • 切换到发布模式(是的,这样做..)
  • 重建解决方案然后运行
  • 在“仅我的代码”警告弹出窗口中,选择“继续调试”
  • 实验版本现在将从您的 VSIX 开始!已加载!
  • 发布模式在调试时不太方便。关闭 Exp 版本您将回到 VSIX 解决方案
  • 切换回调试模式
  • 再次运行

对我来说,上面的顺序让问题消失了。VSIX 已按预期加载。

  • 难以置信,但我认为这确实有效! (3认同)