Версии, не разрешенные для пакетов Nuget - PullRequest
0 голосов
/ 28 ноября 2018

Я получаю предупреждение (которое рассматривается как ошибка в моем проекте) для собственного пакета Nuget, разработанного собственными силами.Я не уверен, что я делаю неправильно - согласно документации 1.0.0.13 >= 1.0.0 должно разрешиться.

Предупреждение / ошибка, которую я получаю:

NU1603 MyPackage.Services 1.0.0.13 depends on MyPackage.Base (>= 1.0.0) but MyPackage.Base 1.0.0 was not found. An approximate best match of MyPackage.Base 1.0.0.13 was resolved.

MyPackage.Services.nuspec:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>MyPackage.Services</id>
    <version>1.0.0</version>
    <authors>Me</authors>
    <owners>Me</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>My Package Description</description>
    <copyright>Me - 2018</copyright>
    <dependencies>
      <dependency id="MyPackage.Base" version="1.0.0" />
      <!-- ... -->
    </dependencies>
  </metadata>
</package>

Спасибо

1 Ответ

0 голосов
/ 30 ноября 2018

Как говорится в сообщении предупреждение

Приблизительное наилучшее соответствие MyPackage.Base 1.0.0.13 было разрешено.

Итак, оно было разрешено,Однако, выбрав обработку предупреждения как ошибки, вы попросили его прервать сборку.

Поскольку вы владеете MyPackage.Services, вы можете изменить его зависимость от MyPackage.Base на версию, которая действительно существует, чтобы прекратить получатьэто предупреждение.Другие варианты - прекратить трактовать NU1603 как предупреждение или, возможно, полностью его исключить.

Как сказал Мартин Уллрих в комментариях вопроса, есть сценарии, в которых разработчики заботятся о том, чтобы разные версии были восстановлены, чем они ожидали.Фактически, для некоторых клиентов было так важно, чтобы недавно была добавлена ​​новая функция для повышения безопасности восстановления пакетов (см. Недавнюю проблему потока событий npm).Это делает предупреждение NuGet NU1603 гораздо менее полезным, но оно существует гораздо дольше, чем блокировка пакетов.

...