【问题标题】:FxCopAnalyzers: An instance of analyzer cannot be createdFxCopAnalyzers:无法创建分析器实例
【发布时间】:2019-07-22 09:35:56
【问题描述】:

我正在尝试在我的项目中安装 fxcop analyzers。但是,在添加和恢复了 nuget 包后,构建项目会导致数百个警告形式为

1>CSC : warning CS8032: An instance of analyzer Microsoft.CodeAnalysis.VersionCheckAnalyzer.AnalyzerVersionCheckAnalyzer cannot be created from 
C:\<MyProjectPath>\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.3\analyzers\dotnet\Microsoft.CodeAnalysis.VersionCheckAnalyzer.dll : 
Could not load file or assembly 'Microsoft.CodeAnalysis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. 
The system cannot find the file specified..

但是,如果我查看路径 packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.3\analyzers\dotnet,我会看到所提到的 dll 只是存在。

有人知道可能出了什么问题吗?也许一些依赖没有得到满足。但如果是这样,我怎么知道是哪个?我正在使用 Visual Studio 2019。

【问题讨论】:

    标签: visual-studio nuget fxcop


    【解决方案1】:

    根据您的包路径C:\&lt;MyProjectPath&gt;\packages,您的项目以.net 框架为目标。也许您有类似的问题,例如this one

    我可以在 VS2019 的一个 .net 框架项目中重现相同的问题,为了解决这个问题,我将 Microsoft.Net.Compilers 包更新到最新的稳定版本(3.1.1),然后这些警告消失了。因此,如果您引用了Microsoft.Net.Compilers pacakge,请将其更新到最新版本。如果没有,请添加对其最新版本的引用。

    【讨论】:

    • 这很合理,因为我确实使用了旧版本的 Microsoft.Net.Compilers,如果我删除了该依赖项,它就可以工作。不幸的是,我现在无法升级该软件包。
    • 不行,我用的是工具集Microsoft.Net.Compilers.toolset 3.8.0
    【解决方案2】:

    如果您的 Microsoft.CodeAnalysis.FxCopAnalyzers 版本对于您的 Visual Studio 版本太高,您会收到此警告

    警告 CS8032 ...

    要查找支持的最高版本,请参阅此文档:在 Visual Studio 中安装 FxCop 分析器 -> FxCopAnalyzers package versions

    【讨论】:

      【解决方案3】:

      我已经通过升级以下 nugger 消除了这些错误

      Microsoft.Net.Compilers
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-14
        • 2022-10-20
        • 1970-01-01
        • 2016-08-27
        • 2020-01-16
        • 2019-05-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多