我正在創建我的第一個nuget包。我添加了一個不是最新版本的版本的依賴關係。但是,我不想更新到此依賴項的最新版本。是否可以指示它使用特定版本?如何在nuspec中指定特定的依賴版本?
<dependencies>
<dependency id="NHibernate" version="3.2.0.3001" />
</dependencies>
當我安裝包我看到這一點:
Attempting to resolve dependency 'NHibernate (≥ 3.2.0.3001)'.
這將創建下列當我安裝軟件包。
<packages>
<package id="Iesi.Collections" version="3.2.0.4000" />
<package id="NHibernate" version="3.2.0.4000" />
</packages>
我真的希望看到這樣的事情: 試圖解決依賴 'NHibernate的(3.2.0.3001)'。
你可以做到這一點,如下回答。但是請記住,任何使用你的包並且也使用NHibernate的人(或者你指定了確切包版本的任何其他依賴),除非你允許,否則不能以任何理由更新它。這是一個糟糕的情況。最近我們使用了一個「鎖定版本」:在我們的例子中,版本鎖定的軟件包不是NHib,而是一個不相關的軟件包。如果上游圖書館存在真正的突破性變化,那麼鎖定版本可能是必要的,但在我們的案例中,我們沒有;只是過度使用這種語法。所以如果你使用它,請謹慎使用它! – Anthony