2015-09-27 57 views
4

NuGet(版本7.0.1)中的Newtonsoft.Json版本在運行代碼分析時給出以下錯誤消息。便攜式類庫面向.NET 4.5發生Newtonsoft.Json導致Visual Studio 2015代碼分析失敗

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

錯誤,Windows 8的& ASP.NET 5.0的核心

如果便攜式類庫面向.NET 4.6,不會發生錯誤時,Windows通用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目標和代碼分析。

+0

我看到與舊版Json.NET相同的問題 –

回答

0

您可以通過添加一個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>