Newtonsoft.Json导致Visual Studio 2015代码分析失败

时间:2015-09-27 16:17:16

标签: json.net visual-studio-2015

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

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

错误发生在以.Net 4.5,Windows 8和Windows为目标的便携式类库中。 ASP.NET Core 5.0

如果便携式类库以.Net 4.6,Windows Universal 10和Windows 4为目标,则不会发生错误。 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目标并进行代码分析,请告诉我。

2 个答案:

答案 0 :(得分:0)

您可以通过在.csproj文件中添加CodeAnalysisAdditionalOptions /assemblyCompareMode:None来避免错误:

<?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>

答案 1 :(得分:0)

似乎错误已在Version 9.0.1修复。