使用 Cake 将特定的 nugets 更新到所需的版本

Update specific nugets to desired version using Cake

我有一个蛋糕构建,我用它来像这样更新 Nugets

Task("Update-NuGet-Packages")
.Does(() =>
{
    NuGetUpdate(@"D:\FooBar\FooBar.sln");
});

这会在所有解决方案项目中将 nuget 更新到最新版本,但是是否有传递包名称和版本的选项,就像我们通过包控制台所做的那样

Update-Package NLog -Version 3.5.0

您可以将 NuGetUpdateSettings 传递给第二个参数,这有一个要更新的 Id 列表:

Task("Update-NuGet-Packages")
.Does(() =>
{
    NuGetUpdate(@"D:\FooBar\FooBar.sln",
                new NuGetUpdateSettings(){
                       Id = new [] { "Newtonsoft.Json", "HumbleConfig" }
                     });
});

但是,查看 NuGetUpdater 似乎没有办法传递版本号。延期看起来并不难,我相信他们会很乐意接受 PR。

NuGetUpdateSettings - https://github.com/cake-build/cake/blob/main/src/Cake.Common/Tools/NuGet/Update/NuGetUpdateSettings.cs

NuGetUpdater - https://github.com/cake-build/cake/blob/main/src/Cake.Common/Tools/NuGet/Update/NuGetUpdater.cs