在我的构建管道中我拉取这个容器:
mcr.microsoft.com/dotnet/sdk:8.0.405
当我dotnet format --version
在该容器中运行时,我得到以下版本号:
8.3.546805+86f5186deeea364bd8541d51657e52a54b2a96b2
当我特别要求容器版本 8.0.405 时,为什么我会获得 .NET 格式版本 8.3?
我在本地安装了 8.0.405 版本的 .Net SDK,运行时dotnet format --version
我正确得到:
Welcome to .NET 8.0!
---------------------
SDK Version: 8.0.405
我只是不明白差异是什么。
这给我带来了一个问题,因为该format
命令在我的构建服务器上的行为与在本地运行的行为不同,但版本应该完全相同。
dotnet --version
打印 SDK 版本为 8.0.405。dotnet format --version
打印出命令的版本号,dotnet-format
该版本号不一定与 SDK 版本匹配。就您而言,容器版本比您本地安装的版本新。SDK 的每个部分都有自己的版本号,如果您这样做,
dotnet build --version
它会在 8.0.405 容器中打印出 17.11.9.46202,这一点非常清楚。