【发布时间】:2018-11-07 21:48:00
【问题描述】:
我正在创建我的第一个 nuget 包。我添加了一个不是最新版本的依赖项。但是,我不想更新到此依赖项的最新版本。是否可以指示它使用特定版本?
<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,而是一个不相关的包。如果上游库中有真正的重大更改,则可能需要锁定版本,但在我们的情况下,我们没有;只是过度使用这种语法。所以如果你使用它,请谨慎使用!
标签: c# .net nuget nuget-package