未解析 Nuget 包的版本
Versions not resolving for Nuget packages
我收到内部开发的 Nuget 包的警告(在我的项目中被视为错误)。我不确定我做错了什么 - 根据文档,1.0.0.13 >= 1.0.0
应该可以解决。
我收到的warning/error:
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>
谢谢
如警告消息所述
An approximate best match of MyPackage.Base 1.0.0.13 was resolved.
所以解决了。但是,通过选择将警告视为错误,您要求它破坏您的构建。
由于您拥有 MyPackage.Services
,您可以将其对 MyPackage.Base
的依赖更改为实际存在的版本以停止收到此警告。其他选择是停止将 NU1603
视为警告,或者可能完全抑制它。
正如 Martin Ullrich 在问题的评论中所说,在某些情况下,开发人员确实关心恢复的版本与他们预期的不同。事实上,这对一些客户来说非常重要,最近添加了 new feature 以提高恢复包的安全性(参见最近的 npm 事件流问题)。这使得 NuGet 警告 NU1603
的用处大大降低,但它的存在时间比包锁定要长得多。
我收到内部开发的 Nuget 包的警告(在我的项目中被视为错误)。我不确定我做错了什么 - 根据文档,1.0.0.13 >= 1.0.0
应该可以解决。
我收到的warning/error:
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>
谢谢
如警告消息所述
An approximate best match of MyPackage.Base 1.0.0.13 was resolved.
所以解决了。但是,通过选择将警告视为错误,您要求它破坏您的构建。
由于您拥有 MyPackage.Services
,您可以将其对 MyPackage.Base
的依赖更改为实际存在的版本以停止收到此警告。其他选择是停止将 NU1603
视为警告,或者可能完全抑制它。
正如 Martin Ullrich 在问题的评论中所说,在某些情况下,开发人员确实关心恢复的版本与他们预期的不同。事实上,这对一些客户来说非常重要,最近添加了 new feature 以提高恢复包的安全性(参见最近的 npm 事件流问题)。这使得 NuGet 警告 NU1603
的用处大大降低,但它的存在时间比包锁定要长得多。