如何从命令行更新项目中的单个 nuget 包?
How do I update a single nuget package in a project from the command line?
我正在尝试更新具有多个依赖项的 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 而不更新其他包。我看到 Update-Package in the Visual Studio package manager has this capability,但这需要在 TFS 构建机器上 运行。
有没有办法从命令行执行此操作?预期的工作流程是构建机器 运行ning
- Nuget.exe恢复
- Nuget.exe 更新(在每个 csproj 文件上)
但是 update 命令不允许我们指定更新哪个包。我知道包有一个 allowedVersions 标签,但这需要我们在创建不同的分支时更改 packages.config 文件,这些分支需要更新或不需要不同的组件,而特定于包、特定于 csproj 的命令-行将允许我们通过其构建定义将要更新的依赖关系与每个 TFS 分支相关联。
nuget.exe update
有一个指定项目的 -Id
参数。所以,例如,
nuget.exe update X.csproj -Id PackageA
我正在尝试更新具有多个依赖项的 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 而不更新其他包。我看到 Update-Package in the Visual Studio package manager has this capability,但这需要在 TFS 构建机器上 运行。
有没有办法从命令行执行此操作?预期的工作流程是构建机器 运行ning
- Nuget.exe恢复
- Nuget.exe 更新(在每个 csproj 文件上)
但是 update 命令不允许我们指定更新哪个包。我知道包有一个 allowedVersions 标签,但这需要我们在创建不同的分支时更改 packages.config 文件,这些分支需要更新或不需要不同的组件,而特定于包、特定于 csproj 的命令-行将允许我们通过其构建定义将要更新的依赖关系与每个 TFS 分支相关联。
nuget.exe update
有一个指定项目的 -Id
参数。所以,例如,
nuget.exe update X.csproj -Id PackageA