PackageReference 或 ProjectReference 导致 Analyzer 中出现 TypeLoadException 错误
PackageReference or ProjectReference causes TypeLoadException error in Analyzer
我有一个分析器,它有一个名为 ClassMarker
的 PackageReference。
此引用包含类型 Marker1
。
使用 VSIX 项目调试分析器,一切正常。
然后,当我添加对 Marker1
类型的引用时,我开始在输出中出现运行时错误 window。
Exception thrown: 'System.TypeLoadException' in
Microsoft.CodeAnalysis.dll Exception thrown:'System.Resources.MissingManifestResourceException' in mscorlib.dll
导致错误的特定行是:
var MarkerTypeName = typeof(Marker1).FullName;
我也对 ProjectReference 使用了相同的方法。
我认为这意味着 Marker1
没有被 VSIX 扩展正确加载。
我尝试了几种不同的方法来确保它在 vsix 项目运行时包含在内(向 VSIX 项目添加了 PackageReference,Added a VSIXSourceItem using workaround)。
如何在运行时在 VSIX 实例中访问 PackageReference 或 ProjectReference(及其任何依赖项)?
这似乎是 visual studio 缓存未被清除的问题。进入解决方案并删除 .vs 文件夹、清除符号缓存并从 visual studio 的调试实例中卸载所有扩展后,分析器开始工作。
我有一个分析器,它有一个名为 ClassMarker
的 PackageReference。
此引用包含类型 Marker1
。
使用 VSIX 项目调试分析器,一切正常。
然后,当我添加对 Marker1
类型的引用时,我开始在输出中出现运行时错误 window。
Exception thrown: 'System.TypeLoadException' in Microsoft.CodeAnalysis.dll Exception thrown:'System.Resources.MissingManifestResourceException' in mscorlib.dll
导致错误的特定行是:
var MarkerTypeName = typeof(Marker1).FullName;
我也对 ProjectReference 使用了相同的方法。
我认为这意味着 Marker1
没有被 VSIX 扩展正确加载。
我尝试了几种不同的方法来确保它在 vsix 项目运行时包含在内(向 VSIX 项目添加了 PackageReference,Added a VSIXSourceItem using workaround)。
如何在运行时在 VSIX 实例中访问 PackageReference 或 ProjectReference(及其任何依赖项)?
这似乎是 visual studio 缓存未被清除的问题。进入解决方案并删除 .vs 文件夹、清除符号缓存并从 visual studio 的调试实例中卸载所有扩展后,分析器开始工作。