3

我将 .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,版本=6.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。

4

1 回答 1

0

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

于 2021-11-09T09:33:36.843 回答