При установке пакета NuGet используется конкретная версия сборки в файлах csproj
Мы используем NuGet в наших проектах, у нас возникают проблемы с ссылками csproj на пакеты NuGet.
Сценарий 1
Когда мы устанавливаем несколько пакетов для решения в системе Dev с указанными ниже деталями,
Windows 7, x64 bitVisual Studio 2012NuGet 2.8PTC Integrity для контроля версийОн добавляет конкретную версию к файлам csproj. как указано ниже, (фрагмент кода),
<Reference Include="ABCD.XYZ, Version=1.0.6045.25123, Culture=neutral, processorArchitecture=AMD64">
<HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
<Private>True</Private>
</Reference>
Сценарий 2
При добавлении того же пакета на сервер сборки с указанными ниже данными
Windows Server 2008 R2Visual Studio 2012NuGet 2.8PTC Integrity для контроля версийЭто добавляет ниже детали,
<Reference Include="ABCD.XYZ">
<HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
<Private>True</Private>
</Reference>
Как конкретная версия добавляется? я вижу этосообщение упоминает, что он добавляет тег csproj ниже для этого пользователя, но это не так для нас.
<SpecificVersion>False</SpecificVersion>
Мой сценарий заключается в том, что наша сборка увеличивает версию сборки ABCD.XYZ с каждой сборкой. Поэтому проект, на который есть ссылка выше, терпит неудачу, так как не может найти версию выше (NuGet добавляет строгое имя в ссылке)
Я пробовал различные конфигурации сборки, такие как Debug, Release, x64, Any CPU и т. Д.
Обновление csproj вручную, не такой гибкий вариант
Итак, вот мои несколько вопросов,
Как эта конкретная версия или строгое имя добавляется в csproj?Есть ли возможность добавить / игнорировать конкретную версию?Что требуется для добавления ссылки, выделенной в сценарии 2?Пожалуйста, дайте нам знать, если требуются дополнительные данные.