如何在nuspec中解析引用包的最新版本?

时间:2017-10-12 15:13:35

标签: nuget nuspec

有没有办法解析nuspec文件中引用的包/依赖项的最新版本?

<?xml version="1.0"?>
<package >
  <metadata>
    <id>Package1</id>
    <dependencies>
      <dependency id="Package2" version="LATEST_YOU_CAN_FIND"  />
    </dependencies>
  </metadata>
  <files>
    <file src="lib\" target="lib" />
  </files>
</package>

构建脚本/正则表达式/替换解决方案不是我正在寻找的。

1 个答案:

答案 0 :(得分:0)

修改:这不适用于nuspec文件,但您可以按照this answer中的说明进行更改,以便始终获取最新信息。指定的更改仅适用于您自己的计算机。对于您的任何代码,您可以添加自己的nuget.config文件以使其成立。

今天没有最新版本的关键字。然而,有一种方式可以说,使用此版本及更高版本。您可以找到完整的reference here。注意,这并不意味着NuGet将始终获得列出的依赖项的最新版本。

一个例子(来自提供的链接):          

<!-- Accepts any version above, but not include 4.1.3. This might be
      used to guarantee a dependency with a specific bug fix. -->
<dependency id="ExamplePackage" version="(4.1.3,)" />

<!-- Accepts any version up below 5.x, which might be used to prevent
      pulling in a later version of a dependency that changed its interface.
      However, this form is not recommended because it can be difficult to
      determine the lowest version.  -->
<dependency id="ExamplePackage" version="(,5.0)" />

<!-- Accepts any 1.x or 2.x version, but no 0.x or 3.x and higher versions -->
<dependency id="ExamplePackage" version="[1,3)" />

<!-- Accepts 1.3.2 up to 1.4.x, but not 1.5 and higher. -->
<dependency id="ExamplePackage" version="[1.3.2,1.5)" />