【问题标题】:How to fix source-code generator with .NET 6?如何使用 .NET 6 修复源代码生成器?
【发布时间】:2021-11-08 23:36:11
【问题描述】:

我将 .NET 5.0 应用程序移植到 .NET 6.0,现在我发现源代码生成器失败了。它显示以下错误:

生成器“PermissionGenerator”未能生成源。它不会影响输出,因此可能会出现编译错误。异常类型为“FileNotFoundException”,消息“无法加载文件或程序集”System.Collections.Immutable,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。'

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> 添加到生成器项目文件的属性组中并没有真正的帮助。它确实将System.Collection.Immutable.dll 添加到输出文件夹(6.0.21.52210),但我仍然得到同样的错误。

我的生成器是一个 .NET Standard 2.0 项目,使用 .NET 6 可能不再需要它。所以我还尝试将生成器的运行时设置为 .NET 6。这失败并出现另一个错误:

无法从 ... 创建分析器实例 ... 无法加载文件或程序集 'System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。系统找不到指定的文件。

【问题讨论】:

    标签: c# .net-6.0 csharp-source-generator


    【解决方案1】:

    这似乎是 Paket v6 的问题,与源生成器一起使用时似乎存在问题。我现在使用传统方法(包括直接在项目文件中的分析器),它现在又可以工作了。我向 Paket (link) 提出了问题。

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 2021-12-27
      • 1970-01-01
      • 2023-01-03
      • 2019-09-29
      • 2011-01-02
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多