Подтвердить что ты не робот

Как создать зависимость nuspec, которая включает в себя предварительные условия

В некотором контексте:

У меня есть 4 пакета nuget с зависимостями. Все они находятся в режиме предварительного выпуска, и они эволюционируют от альфы до "стабильного" в своем собственном темпе. Я хочу иметь возможность указать в определении зависимостей, что preleleases должны быть включены, но когда доступна "стабильная" версия, она должна обновиться до стабильной версии.

В Документах NuGet правила для управления версиями определяют [ и ], чтобы указать указанный номер версии и ( и ) на исключить указанный номер версии.

Некоторые примеры влияния версий в файле nuspec:

 <dependencies>
     <dependency id="MyComponent" version="1.2.0" />
 </dependencies>

== > Это установит MyComponent 1.2.0 или выше. (не включая предварительную 1.2.0-альфа)

 <dependencies>
     <dependency id="MyComponent" version="[1.2.0" />
 </dependencies>

== > Это установит MyComponent 1.2.0 или выше. (не включая предварительную 1.2.0-альфа)

 <dependencies>
     <dependency id="MyComponent" version="[1.2.0,2)" />
 </dependencies>

== > Будет установлен MyComponent 1.2.0 до версии 2.0.0. (не включая предварительную версию 1.2.0-alpha, но включает предварительную версию 2.0.0-alpha)

В настоящее время я устанавливаю:

 <dependencies>
     <dependency id="MyComponent" version="(1.1.32767" />
 </dependencies>

Но я нахожу это очень уродливым способом, и это на самом деле не отражает реальность. (Что, если версия 1.1.32767.1 существует?)

Я хотел бы знать, как указать, что вы хотите включить предварительные версии в минимальную версию?

4b9b3361

Ответ 1

Есть одна важная вещь:

В зависимости от предварительного выпуска сам созданный пакет также является предварительным.

Имеет смысл, что по умолчанию предварительные выпуски игнорируются при определении диапазона зависимостей версии, потому что это изменит версию создаваемого пакета (не зная, какую версию выбрать).

В идеале алгоритм, который проверяет диапазон зависимостей версии во время установки, проверяет, является ли потребленный пакет предварительным выпуском или нет, а затем либо включает, либо исключает зависимости до выпуска в пределах допустимой версии.

Я не уверен, что это в настоящее время, но, глядя на ваш вопрос, я не думаю, что это так. Возможно, вам захочется зарегистрировать запрос функции (или отправить запрос на растяжение?) На http://nuget.codeplex.com