Я создал пакет nuget для библиотеки, которую мы используем в моей компании. Библиотека использует как Fluent NHibernate 1.3.0.717, так и Structure Map 2.6.2.
Поскольку некоторые люди используют StructureMap 2.6.3, я создал зависимости пакета как:
<dependencies>
<dependency id="FluentNHibernate" version="[1.3,)" />
<dependency id="structuremap" version="[2.6.2,)" />
</dependencies>
И когда пакет обнаруживается в NuGet, он говорит, что требуется Структура карты> = 2.6.2. Пока все хорошо.
Вот проблема:
Когда я добавляю эту библиотеку в свой проект, она всегда устанавливает Structure Map 2.6.3. Для этого он даже удаляет 2.6.2 из моего проекта.
Я не вижу никаких признаков того, что структурная карта 2.6.3 является зависимостью от FluentNHibernate (или какой-либо из ее зависимостей), поэтому я совершенно сбит с толку, почему он не просто добавит мою библиотеку с зависимостями FluentNHibernate и покинет мою Только StructureMap 2.6.2.
Я не знаю, связано ли это с этим, но мы размещаем пакеты на общем ресурсе UNC.