Newtonsoft.Json 导致 Visual Studio 2015 Code Analytics 失败



Newget(版本7.0.1(中的Newtonsoft.Json版本在运行代码分析时给出以下错误消息。

CA0001 : Could not resolve reference to mscorlib, Version=2.0.5.0, ...

错误发生在面向 .Net 4.5、Windows 8 和 Core 5.0 ASP.NET 的可移植类库中

如果可移植类库面向 .Net 4.6、Windows Universal 10 和 ASP.NET Core 5.0,则不会发生此错误

我采用了Newtonsoft.Json源代码,并编译为面向.Net 4.5,Windows 8和 ASP.NET Core 5.0的可移植类库。然后,我引用了我编译的程序集,而不是 NuGet 包。在这种情况下不会发生代码分析问题。

请注意,我使用的是在Windows 10上运行的Visual Studio 2105。由于其他依赖项,以 .Net 4.6 为目标对我来说不是一个选择。

请让我知道是否有一种好方法可以使 NuGet 包适用于我需要的特定 PCL 目标和代码分析。

您可以通过将

CodeAnalysisAdditionalOptions /assemblyCompareMode:None添加到 .csproj 文件来避免此错误:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  ...
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    ....
    <CodeAnalysisAdditionalOptions>/assemblyCompareMode:None</CodeAnalysisAdditionalOptions>
    ....
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ....
    <CodeAnalysisAdditionalOptions>/assemblyCompareMode:None</CodeAnalysisAdditionalOptions>
    ....
  </PropertyGroup>
  ....
</Project>

似乎该错误已在版本 9.0.1 中修复。

相关内容

  • 没有找到相关文章

最新更新