gpt4 book ai didi

json.net - Visual Studio 12.0 Blend 和 MVC 5 web 项目 VS 2013 之间的 Newtonsoft.Json.dll 冲突

转载 作者:行者123 更新时间:2023-12-04 13:04:18 27 4
gpt4 key购买 nike

我在 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 -> Options -> Projects and Solutions -> Build and Run -> 并将“MSBuild project build output verbosity”设置为“Detailed”并重建项目。)

关于json.net - Visual Studio 12.0 Blend 和 MVC 5 web 项目 VS 2013 之间的 Newtonsoft.Json.dll 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com