如何从命令行更新项目中的单个 nuget 包?

问题描述 投票:0回答:1

我正在尝试更新具有多个依赖项的 csproj 中的单个包。也就是说,packages.config 文件如下所示:

<packages>
  <package id="PackageA" version="1.2.1" targetFramework="net40" />
  <package id="PackageB" version="2.3.4" targetFramework="net40" />
  <package id="PackageC" version="1.0.0" targetFramework="net40" />
</packages>

我想更新PackageA而不更新其他。我看到 Visual Studio 包管理器中的 Update-Package 具有此功能,但这需要在 TFS 构建计算机上运行。

有没有办法从命令行执行此操作?预期的工作流程是构建机器运行

  1. Nuget.exe 恢复
  2. Nuget.exe 更新(在每个 csproj 文件上)

但是 update 命令不允许我们指定要更新哪个包。我知道软件包有一个 allowedVersions 标签,但这需要我们在创建需要更新或不更新不同组件的不同分支时更改 packages.config 文件,而特定于软件包、特定于 csproj 的命令行将允许我们通过其构建定义将要更新的依赖项与每个 TFS 分支相关联。

command-line nuget
1个回答
24
投票

nuget.exe update
有一个指定项目的
-Id
参数。所以,举例来说,

nuget.exe update X.csproj -Id PackageA
© www.soinside.com 2019 - 2024. All rights reserved.