Версии, не разрешенные для пакетов Nuget
Я получаю предупреждение (которое рассматривается как ошибка в моем проекте) для собственного пакета 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 ответ
Как говорится в предупреждающем сообщении
Примерное лучшее совпадение с MyPackage.Base 1.0.0.13 было решено.
Так что это было решено. Однако, решив рассматривать предупреждение как ошибки, вы попросили его прервать сборку.
Так как вы владеете MyPackage.Services
Вы можете изменить его зависимость от MyPackage.Base
к версии, которая действительно существует, чтобы перестать получать это предупреждение. Другие варианты, чтобы прекратить лечение NU1603
в качестве предупреждения или, возможно, подавления его полностью.
Как сказал Мартин Уллрих в комментариях к вопросу, есть сценарии, в которых разработчики заботятся о том, чтобы разные версии были восстановлены, чем они ожидали. Фактически, для некоторых клиентов было так важно, что недавно была добавлена новая функция для улучшения безопасности восстановления пакетов (см. Недавнюю проблему потока событий npm). Это делает предупреждение NuGet NU1603
гораздо менее полезный, но он существует гораздо дольше, чем блокировка пакетов.