我无法在最简单的VSIX项目中调试最简单的VS包。
重现步骤:
VSPackage1.cs
),并在第68行(Initialize()
,base.Initialize()
F5
开始调试这将启动Visual Studio 2015的实验性实例,并安装了包(已在工具/扩展和更新... 中确认),但禁用了断点:
上面的步骤来自新创建的VSIX项目的“入门指南”(
index.html
),因此它应该可以正常工作。附加信息:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
和命令行参数设置为/rootsuffix Exp
True
,然后projectname.pdb
文件正确显示在bin\Debug
bin\Debug\projectname.vsix
文件包含projectname.pdb
source.extension.vsixmanifest
中的 Assets 中,以及Type=Microsoft.VisualStudio.VsPackage
source.extension.vsixmanifest
和Type=Microsoft.VisualStudio.MefComponent
中的 Assets 中,但这似乎没什么作用。在此之后的第一次运行中,断点显示为启用,但未命中。在第二次及以后的运行中,断点在运行过程中返回到禁用状态。 F5
启动时的行为相同,没有任何区别。 Console.WriteLine
方法中添加Initialize
语句,但在Output
窗口中找不到调试文本。 所有这一切似乎表明VS软件包虽然已明确安装,但尚未初始化。我想念什么?如果相关的话,here是VS Package的源代码,here是整个虚拟项目。
如果您需要更多信息,请告诉我。
最佳答案
要在VS启动时自动加载程序包,通常需要在主程序包类中添加ProvideAutoLoad属性。
有关更多详细信息,请参见okta文档。
关于visual-studio - 如何在Visual Studio 2015中创建的VSIX中调试Visual Studio程序包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43497943/