PackageReference或ProjectReference导致分析器中的TypeLoadException错误

问题描述

我有一个分析器,该分析器具有名为ClassMarkerpackagereference

此引用包含类型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的调试实例中卸载所有扩展,分析仪便开始工作。