始终使用最新版本的NuGet包。

6

有没有一种方法可以使用packages.config自动从一个feed获取最新的nuget包呢? 例如:

在我的packages config中,我有:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Autofac" version="4.2.0" targetFramework="net452" />
  <package id="MyOwn.ApiProxy" version="17.2.1.3" targetFramework="net452" />
  <package id="Iesi.Collections" version="4.0.1.4000" targetFramework="net452" />
  <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
</packages>

在这个packages.config文件中,MyOwn.ApiProxy的版本被指定为版本17.2.1.3,但是版本17.2.1.4已经在(私有)nuget feed中了。我该如何自动更新我的packages.config以获取最新版本的软件包?我应该创建一个预构建任务,还是有一种方法可以在版本中指定latest?使用Visual Studio 2015 + NuGet server 2.11.2.0。谢谢。
1个回答

4
从Nuget v2.8开始,在nuget.config中支持以下属性。
<configuration>
<config> 
    <add key="dependencyversion" value="Highest" /> 
</config>

来源: https://learn.microsoft.com/zh-cn/nuget/release-notes/nuget-2.8

本文介绍了NuGet 2.8版本的更新内容及其相关功能。此版本包括对.net框架4.5的支持和VS2013的更新,并提供其他改进和修复,以提高用户体验。


2
通过添加这个配置设置,NuGet包的初始安装确实会获取最新版本,但它也会在packages.config中写入一行特定版本的代码。这意味着当Feed中的包更新到例如“17.2.1.5”时,它不会更新我的packages.config并仍然使用旧版本。我能像<package id="MyOwn.ApiProxy" version="Highest" targetFramework="net452" />这样做吗? - Tim Ververs
不,它不能工作。希望还原软件包可以帮助您。 - Mathivanan KP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接