我收到了针对内部开发的 Nuget 包的警告(在我的项目中被视为错误)。我不确定我做错了什么 - 根据文档, 1.0.0.13 >= 1.0.0
应该可以解决。
我收到的警告/错误:
NU1603 MyPackage.Services 1.0.0.13 依赖于 MyPackage.Base (>= 1.0.0),但未找到 MyPackage.Base 1.0.0。已解析 MyPackage.Base 1.0.0.13 的近似最佳匹配。
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
的用处大大减弱,但它的存在时间比包锁定要长得多。
关于c# - 无法解析 Nuget 包的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53509135/