json.net – 在Visual Studio 12.0 Blend和MVC 5 Web项目VS 2013之间出现Newtonsoft.Json.dll冲突

前端之家收集整理的这篇文章主要介绍了json.net – 在Visual Studio 12.0 Blend和MVC 5 Web项目VS 2013之间出现Newtonsoft.Json.dll冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在VS2013中有一个asp.net mvc 5项目,我将所有内容的nuget包更新到最新版本

然后我遇到了这个错误

Error   2   The type 'Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver' exists in both 'c:\Program Files (x86)\Microsoft Visual Studio 12.0\Blend\Newtonsoft.Json.dll' and '{path to my project}\packages\Newtonsoft.Json.6.0.1\lib\net45\Newtonsoft.Json.dll'

有没有其他人遇到这个.

我得到了那个错误,因为我有一个额外的
<ItemGroup>
  <Reference Include="Newtonsoft.Json">
    <HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
  </Reference>
  <Reference Include="Owin">
    <HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
    <Private>True</Private>
  </Reference>
</ItemGroup>

在我的Web.csproj中直接在通常的引用下面,它已经包含对最新的Newtonsoft.Json.dll的正确引用.在VS中,仅显示了对较新组件的引用.

解决方案是:我将有效的Owin引用移动到主引用ItemGroup并删除了过时的Newtonsoft.Json.dll引用(手动编辑csproj文件).

错误消息的原因:在我的机器上,旧的Newtonsoft.Json.dll的HintPath不存在,因此MSBuild正在寻找其他地方并采用了Blend版本.

(顺便说一句:要了解MSBuild为什么以及在哪里寻找某个装配使用TOOLS – >选项 – >项目和解决方案 – >构建和运行 – >并将“MSBuild项目构建输出详细程度”设置为“详细” “并重建项目.)

猜你在找的Json相关文章