![](/img/trans.png)
[英]Packages.config vs Dependency section in .nuspec file
[英]How does .nuspec dependency version and packages.config package version relate to each other?
packages.config
包含項目使用的所有包。 package
元素的version
屬性需要package
確切版本。
同時.nuspec
允許我設置依賴項的允許版本范圍。
如果我的項目依賴於A
和B
,而它們又都依賴於C
,則 NuGet 獲取可能的最低版本。 因此,在依賴項[1.0]
指定確切版本之前,沒有版本的硬修復。 然后我確實得到了在<package>
元素中有確切版本的點。 並且它沒有>=
語義,因為如果具有確切版本的包不存在,則包還原失敗。
與此相反,最近引入的PackageReference將version
視為>=
。 它甚至支持浮動版本
它們是不同的上下文,一種是包作者指定其包的依賴關系,另一種是用戶對包版本的控制。
nuspec 依賴版本基本上是指定您可以使用哪個版本的依賴包。 基本上你是說你的包只有在與依賴包的那個版本范圍並排安裝時才能工作。
另一方面,包的版本屬性中的值是用戶控制。 假設您有 Package A 版本 1.0,這取決於 Package B 范圍 [1.0,2.0]。
在用戶安裝 A-1.0 的包配置中,他們也將獲得 B-1.0。 如果用戶選擇,他們可以將包 B 更新到 2.0,並且 NuGet 還原仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.