问题描述
我有一个分析器,该分析器具有名为ClassMarker
的packagereference。
此引用包含类型Marker1
。
使用VSIX项目调试分析器,一切正常。
然后,当我添加对Marker1
类型的引用时,我开始在输出窗口中收到运行时错误。
引发的异常:“ System.TypeLoadException”在 抛出Microsoft.CodeAnalysis.dll异常:mscorlib.dll中的'System.Resources.MissingManifestResourceException'
引起错误的特定行是:
var MarkerTypeName = typeof(Marker1).FullName;
我对ProjectReference也使用了相同的方法。
我的意思是VSIX扩展程序未正确加载Marker1
。
我已经尝试了几种不同的方法来确保vsix项目运行时将其包括在内(将packagereference添加到VSIX项目中,Added a VSIXSourceItem using workaround)。
如何在运行时在VSIX实例中访问packagereference或ProjectReference(及其任何依赖项)?
解决方法
这似乎是Visual Studio缓存未清除的问题。进入解决方案并删除.vs文件夹后,清除符号缓存并从Visual Studio的调试实例中卸载所有扩展,分析仪便开始工作。