现在我知道这里已经有很多这样的问题了,但是翻过它们之后,我还没有找到解决我特定问题的问题。
我有一个ASP.NET MVC 4.5项目。我使用NuGet并将Newtonsoft.Json添加到项目中。只要我在我的代码中使用它(在camel-case中进行一些序列化),我的项目就不再正确构建,并出现以下错误:
“C:.. \ Microsoft Visual Studio 12.0 \ Blend \ Newtonsoft.Json.dll”和“C:.. \ Visual Studio 2013 \ Projects \ myProject”中存在“Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver”类型\包\ Newtonsoft.Json.6.0.1 \ lib中\ net45 \ Newtonsoft.Json.dll'
不幸的是,它与每个公钥上的文件相同,因此我无法在Web.config中使用依赖项程序集引用(如其他地方所示)。我更喜欢使用通过NuGet检索的dll,因此升级到新版本更容易。
此外,没有人在Temporary Internet文件夹中,所以我不能简单地删除它并使其工作。
如何指定我想要使用的特定程序集文件,以便正确构建项目?谢谢!
答案 0 :(得分:31)
Xaniff,手动打开您的项目文件并查找Newtonsoft。您很可能会找到一个项目组,其中包含与您的nuget包不匹配的版本。在我的情况下,我发现了这个:
<ItemGroup>
<Reference Include="Newtonsoft.Json">
<HintPath>..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
我删除了这个项目组,关闭了项目文件,重新加载,一切都很顺利。