【发布时间】: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