【发布时间】:2021-09-17 05:37:45
【问题描述】:
我自己和我的同事都在过去几周的某个时候开始看到这个问题:
构建失败
CSC:警告 CS8032:无法从 /Users/work/dev/git/reporting-model/src/My.Company.Generators/bin/Debug/netstandard2.1/My 创建分析器 My.Company.Generators.ReportingV2Generator 的实例.Company.Generators.dll:无法加载文件或程序集“Microsoft.CodeAnalysis,版本=3.10.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”。系统找不到指定的文件。[/Users/work/dev/git/reporting-model/src/My.Team.Models.ReportingV2/My.Team.Models.ReportingV2.csproj]
/Users/work/dev/git/reporting-model/src/My.Company.Api/SmokeTests/Tests/ContentAskExpertSmokeTest.cs(7,20):错误 CS0234:类型或命名空间名称“模型”不存在于命名空间“My.Team”(您是否缺少程序集引用?) [/Users/work/dev/git/reporting-model/src/My.Company.Api/My.Company.Api.csproj]
... 更多上述“类型或命名空间”错误
...
这在 macOS 和 Windows 上都会发生。它可以在 Linux 上运行(无论是在个人机器上还是在 mcr.microsoft.com/dotnet/sdk:5.0 内部。
从字面上看,源生成器代码/csproj 没有任何变化,它是在大约两周前自发开始的。我也可以在两个月前的提交中重现此内容,所以看起来包中的某些内容可能在外部发生了变化?
【问题讨论】:
-
"无法加载文件或程序集'Microsoft.CodeAnalysis'...系统找不到指定的文件。"
-
是的,但它就在那里,100%。就像我说的,我检查了两个月前的旧提交,并且出现了同样的问题。
-
dotnet restore也可以,我可以看到这种依赖关系 -
是否已将缓存的代码分析 NuGet 包更新为不同的版本?
-
似乎不太可能,因为它发生在 5 台不同的机器(mac 和 windows)上,但从不在 linux 上,而且它们都来自同一个 jfrog 工件
标签: c# sourcegenerators csharp-source-generator