如何始终将 dotnet 工具更新到最新版本(包括预览版)?

How can I always update a dotnet tool to the latest version including previews?

当您想要更新或安装 dotnet 工具时,您需要明确提供预览版的版本。 它在我们的 DevOps 环境中不起作用,因为我们需要始终是最新的包(包括预览版)。 没有像 --preview 到 update/install 这样的参数,最新版本包括预览版本。 如何将 dotnet 工具更新到最新版本(包括预览版)?

dotnet tool 命令不支持开箱即用。我希望有一个像 --preview 这样的参数,以便在 updating/installing 一个新包时也包含预览版本。但别担心,有解决方法;

以下 PowerShell 脚本获取最新版本的 dotnet-ef 工具,包括预览版。然后使用 --version 参数运行更新命令。

$packageName = "dotnet-ef"

$output = dotnet tool search $packageName --prerelease --take 1
$outputString = ("" + $output)
$indexOfVersionLine = $outputString.IndexOf($packageName)
$latestVersion = $outputString.substring($indexOfVersionLine + $packageName.length).trim().split(" ")[0].trim()

Write-Host "Updating "$packageName" to" $latestVersion
dotnet tool update -g $packageName --version $latestVersion

在 dotnet-sdk 存储库上有针对此要求的活动功能请求https://github.com/dotnet/sdk/issues/16669

这就是我们在 DevOps 管道中实现它的方式: https://gist.github.com/ebicoglu/177f48f5fad1bcc49645c0939af4ae76#file-update-abp-cli-tools-preview-ps1