【发布时间】:2013-03-20 17:07:04
【问题描述】:
我们是一个由 7 名成员组成的团队,我们希望使用 Visual Studio 创建一个云应用程序 (Windows Azure)。我们的应用程序托管在 GitHub 上,因此我们选择使用 NuGet 包来尽可能保持我们的存储库轻量级。
但是,我们的 Visual Studio 解决方案中的两个不同项目需要引用 Newtonsoft.Json 版本 4.0.2 或 Newtonsoft.Json 版本 4.5.11。
我们已尝试为每个项目引用正确的版本,但在构建时出现此错误:
“Newtonsoft.Json.Linq.JObject”类型在未引用的程序集中定义。您必须添加对程序集“Newtonsoft.Json, Version=4.0.2.0, Culture=neutral, PublicKeyToken=null”的引用。
无法将类型“Newtonsoft.Json.Linq.JObject”隐式转换为“Newtonsoft.Json.Linq.JObject”
第二个错误表明即使我们的解决方案中没有项目同时引用这两个版本,这两个版本之间也存在冲突。
你有什么办法解决这个问题吗?
谢谢。
PS:以下是我们发现的与此问题最相关的信息。
http://docs.nuget.org/docs/reference/known-issues
https://stackoverflow.com/search?q=NuGet+multi+packages+version
【问题讨论】:
-
如何在您的各种项目中安装两个不同的 Newtonsoft.Json 版本?我猜想明确指定项目名称和包版本,做类似
Install-Package Newtonsoft.Json -ProjectName ProjectA -Version 4.0.2和Install-Package Newtonsoft.Json -ProjectName ProjectB -Version 4.5.11的事情,应该可以解决问题吗?
标签: visual-studio nuget nuget-package