我无法在最简单的VSIX项目中调试最简单的VS包。
重现步骤:
创建VSIX项目:文件/新建/项目/可扩展性/ VSIX项目
添加Visual Studio包:在解决方案资源管理器中右键单击项目节点,然后选择“添加” /“新建项” /“可扩展性” /“ Visual Studio包”
打开新创建的包文件(VSPackage1.cs
),并在第68行(第一行Initialize()
,base.Initialize()
按F5
开始调试
这将启动Visual Studio 2015的实验性实例,并安装了包(已在Tools / Extensions and Updates ...中确认),但禁用了断点:
以上步骤来自index.html
新创建的VSIX项目的《入门指南》(),因此它应该可以正常工作。
附加信息:
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
有Type=Microsoft.VisualStudio.VsPackage
source.extension.vsixmanifest
,Type=Microsoft.VisualStudio.MefComponent
但这似乎没什么作用。在此之后的第一次运行中,断点显示为启用,但未命中。在第二次及以后的运行中,断点在运行过程中返回到禁用状态。F5
,没有任何区别。Console.WriteLine
在该Initialize
方法中添加语句,但在Output
窗口中找不到调试文本。所有这一切似乎表明VS软件包虽然已明确安装,但尚未初始化。我想念什么?如果它是相关的,这里的的VS包的源代码,并在这里的整个虚拟项目。
如果您需要更多信息,请告诉我。
VSPackage仅在需要其功能时才加载到Visual Studio中。例如,当Visual Studio使用VSPackage实现的项目工厂或服务时,将加载VSPackage。此功能称为延迟加载,它在可能的情况下用于提高性能。
要在VS启动时自动加载程序包,通常需要在主程序包类中添加ProvideAutoLoad属性。
有关更多详细信息,请参见加载VSPackages文档。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句