c# - Microsoft分析器为什么找不到Microsoft.CodeAnalysis?

标签 c# code-analysis fxcop analyzer microsoft.codeanalysis

我正在尝试将Microsoft.CodeAnalysis.FXCopAnalyzers(最新的稳定版本)添加到我的ASP.NET项目中。当我通过NuGet安装它时,会出现很多错误,例如:

An instance of analyzer Microsoft.CodeQuality.Analyzers.ApiDesignGuidelines.AbstractTypesShouldNotHaveConstructorsAnalyzer cannot be created from \packages\Microsoft.CodeQuality.Analyzers.2.6.3\analyzers\dotnet\cs\Microsoft.CodeQuality.Analyzers.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. An instance of analyzer Microsoft.CodeQuality.Analyzers.ApiDesignGuidelines.AvoidEmptyInterfacesAnalyzer cannot be created from \packages\Microsoft.CodeQuality.Analyzers.2.6.3\analyzers\dotnet\cs\Microsoft.CodeQuality.Analyzers.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.. An instance of analyzer Microsoft.CodeQuality.Analyzers.ApiDesignGuidelines.CancellationTokenParametersMustComeLastAnalyzer cannot be created from \packages\Microsoft.CodeQuality.Analyzers.2.6.3\analyzers\dotnet\cs\Microsoft.CodeQuality.Analyzers.dll : Could not load file or assembly 'Microsoft.CodeAnalysis, Version=2.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified..



注意:为简洁起见,我已省略127个错误。它们都很相似。但是要注意的一件事是,并不是所有的分析器都在Microsoft.CodeQuality命名空间中。有些在Microsoft.NetCore中,有些在Microsoft.NetFramework中。

所以我说好,我必须先安装Microsoft.CodeAnalysis v2.6.0.0。似乎很奇怪,那不是NuGet自动安装的依赖项,而是任何东西。

因此,我还原了Git中的所有更改,重新打开了解决方案,安装了Microsoft.CodeAnalysis v2.6.0.0,然后安装了最新的稳定版本的Microsoft.CodeAnalysis.FXCopAnalyzers。

同样的错误!

当我查看packages/Microsoft.CodeAnalysis.2.6.0时,我注意到那里没有.dll。什么是正确的安装方式?是否安装Microsoft.CodeAnalysis甚至是正确的解决方案?为什么在安装Microsoft.CodeAnalysis.FXCopAnalyzers的依赖项时未自动安装?这不是包管理器的重点吗?我有很多问题,却只有很少的答案。请帮忙。

最佳答案

Roslyn分析器github项目上的This问题建议添加对Microsoft.Net.Compilers v2.6.1的引用。我在Microsoft.CodeAnalysis.FXCopAnalyzers的依赖关系链中的任何地方都找不到此程序包,但是我注意到我的项目中安装了1.0.0版本。我删除了该软件包并安装了v2.10.0,现在一切似乎都按预期工作。

关于c# - Microsoft分析器为什么找不到Microsoft.CodeAnalysis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54370683/

相关文章:

c# - 在单一方法中根据 XSD 验证 XML

.net - 代码分析工具错误 "The given key was not present in the dictionary."

visual-studio - VS2010代码分析。抑制消息 CA1051 :DoNotDeclareVisibleInstanceFields for all class members

.net - 哪个是最重要的代码分析规则,为什么?

c# - WPF 文本框性能

c# - 如何停止执行并重定向到登录页面

c# - listview 的单击事件在 xamarin android 中不起作用

objective-c - 如何检查项目中是否使用常量

datatable - CA2240 中的 DataSet 和 DataTable 警告

c# - WPF代码分析: CA1001 Types that own disposable fields should be disposable