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目标并进行代码分析,请告诉我。
答案 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修复。