【问题标题】:PackageReference or ProjectReference causes TypeLoadException error in AnalyzerPackageReference 或 ProjectReference 在 Analyzer 中导致 TypeLoadException 错误
【发布时间】:2020-10-01 06:28:48
【问题描述】:

我有一个分析器,它有一个名为 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)。

如何使 PackageReference 或 ProjectReference(及其任何依赖项)在运行时在 VSIX 实例中可访问?

【问题讨论】:

    标签: roslyn vsix


    【解决方案1】:

    看起来这是 Visual Studio 缓存未清除的问题。进入解决方案并删除 .vs 文件夹,清除符号缓存并从 Visual Studio 的调试实例中卸载所有扩展后,分析器开始工作。

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 2018-10-23
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      相关资源
      最近更新 更多