我正在为.net6.0
编写一个Roslyn项目,并将其从具有相同目的的.netstandard2.0
项目中迁移。
最新的Microsoft.CodeAnalysis
NuGet依赖项(分析器的要求)似乎需要System.Collections.Immutable
6.0.0,而.net6附带了System.Collections.Immutable
6.0.0作为默认依赖项(但它们似乎是不同的版本号)。
当Roslyn试图运行Analyzer时,它会失败。
有没有人看到类似的东西,或者有一个解决方案来使同一版本号的两个不同的依赖关系一起工作?
在.net标准2.0中,所有这些代码在System.Collections.Immutable
的旧版本中都能正确工作。
分析器MyProject.CodeAnalysis.Analyzers.MissingAuthorizeAttribute的一个实例不能从C:\Git\MyProject\MyProject.CodeAnalysis\bin\Debug\net6.0\MyProject.CodeAnalysis.dll创建:无法加载文件或程序集'System.Collections.Immutable、Version=6.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a‘或其依赖项之一。系统找不到指定的文件。MyProject.Common C:\Git\MyProject\MyProject.Common\CSC 1 Active
发布于 2022-10-02 10:19:52
我解决了这个问题。
对于任何可能看到类似情况的人来说,当时最新的Microsoft.CodeAnalysis
版本比编译器有一个非常小但更新的System.Collections.Immutable
版本。
Microsoft.CodeAnalysis
https://stackoverflow.com/questions/73923275
复制相似问题