Можно ли ссылаться на разные версии пакета NuGet в решении Visual Studio?

Мы команда, состоящая из 7 человек, и мы хотим создать облачное приложение (Windows Azure) с помощью Visual Studio. Наше приложение размещено на GitHub, поэтому мы решили использовать пакеты NuGet, чтобы сделать наш репозиторий максимально легким.

Однако два разных проекта в нашем решении Visual Studio должны ссылаться либо на Newtonsoft.Json версии 4.0.2, либо на Newtonsoft.Json версии 4.5.11.

Мы пытались ссылаться на правильную версию для каждого проекта, но при сборке получаем следующие ошибки:

  1. Тип Newtonsoft.Json.Linq.JObject определен в сборке, на которую нет ссылок. Вы должны добавить ссылку на сборку «Newtonsoft.Json, версия = 4.0.2.0, культура = нейтральная, PublicKeyToken = null».

  2. Невозможно неявно преобразовать тип 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


person Flabetvibes    schedule 29.03.2013    source источник
comment
Как установить две разные версии Newtonsoft.Json в разные проекты? Я предполагаю, что явное указание имени проекта и версии пакета, выполнение чего-то вроде Install-Package Newtonsoft.Json -ProjectName ProjectA -Version 4.0.2 и Install-Package Newtonsoft.Json -ProjectName ProjectB -Version 4.5.11 должно помочь?   -  person Julian    schedule 16.04.2013


Ответы (1)


Через некоторое время... Знайте, что мы переписали кусок кода, который использует старую ссылку на Newtonsoft.Json версии 4.0.2.

Спасибо.

person Flabetvibes    schedule 26.02.2014