From 74d3a45218a42251990819333ce3470b4a2b6fdd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Nov 2025 06:04:00 -0800 Subject: [PATCH 1/6] Update dependency Microsoft.NET.Test.Sdk to 18.0.1 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index 78310fd9..c0924a53 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -9,7 +9,7 @@ - + From aaccf733763ee03b1b0458fafaaf2d1739537a77 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Tue, 11 Nov 2025 15:02:09 -0700 Subject: [PATCH 2/6] Build with the .NET 10 SDK --- .devcontainer/Dockerfile | 2 +- Directory.Build.props | 1 + global.json | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f9887589..de697825 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ # Refer to https://hub.docker.com/_/microsoft-dotnet-sdk for available versions -FROM mcr.microsoft.com/dotnet/sdk:9.0.306-noble@sha256:d88e637d15248531967111fba05c6725ad45ea1dace3d35d8cfe2c4d4094e25d +FROM mcr.microsoft.com/dotnet/sdk:10.0.100 # Installing mono makes `dotnet test` work without errors even for net472. # But installing it takes a long time, so it's excluded by default. diff --git a/Directory.Build.props b/Directory.Build.props index 02d41804..e1e9ee70 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -12,6 +12,7 @@ true true true + true true diff --git a/global.json b/global.json index cfaecd0d..895d51ba 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.306", + "version": "10.0.100", "rollForward": "patch", "allowPrerelease": false } From adb7870d664a6215b965398d549c3c9a84df8fd9 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Tue, 11 Nov 2025 15:23:14 -0700 Subject: [PATCH 3/6] Adapt to breaking .NET 10 SDK change Workaround for https://github.com/dotnet/sdk/issues/51666 --- Expand-Template.ps1 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Expand-Template.ps1 b/Expand-Template.ps1 index 04cf503d..5b08d843 100755 --- a/Expand-Template.ps1 +++ b/Expand-Template.ps1 @@ -110,6 +110,14 @@ try { git mv test/Library.Tests "test/$LibraryName.Tests" if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } + # Update project reference in test project. Add before removal to keep the same ItemGroup in place. + dotnet add "test/$LibraryName.Tests" reference "src/$LibraryName" + if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } + dotnet remove "test/$LibraryName.Tests" reference src/Library/Library.csproj + if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } + git add "test/$LibraryName.Tests/$LibraryName.Tests.csproj" + if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } + # Refresh solution file both to update paths and give the projects unique GUIDs dotnet sln remove src/Library/Library.csproj if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } @@ -122,14 +130,6 @@ try { git add "$LibraryName.slnx" if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } - # Update project reference in test project. Add before removal to keep the same ItemGroup in place. - dotnet add "test/$LibraryName.Tests" reference "src/$LibraryName" - if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } - dotnet remove "test/$LibraryName.Tests" reference src/Library/Library.csproj - if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } - git add "test/$LibraryName.Tests/$LibraryName.Tests.csproj" - if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } - # Establish a new strong-name key & $sn.Path -k 2048 strongname.snk if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } From 4a6f64196cdffe0b3d5a1dd8da1a836d9e9fd824 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Tue, 11 Nov 2025 20:15:45 -0700 Subject: [PATCH 4/6] Fix ARM64 detection on macOS --- tools/Install-DotNetSdk.ps1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/Install-DotNetSdk.ps1 b/tools/Install-DotNetSdk.ps1 index 402b4307..3d13e817 100644 --- a/tools/Install-DotNetSdk.ps1 +++ b/tools/Install-DotNetSdk.ps1 @@ -197,7 +197,7 @@ if ($InstallLocality -eq 'machine') { $restartRequired = $false $sdks |% { if ($_.Version) { $version = $_.Version } else { $version = $_.Channel } - if ($PSCmdlet.ShouldProcess(".NET SDK $_", "Install")) { + if ($PSCmdlet.ShouldProcess(".NET SDK $version ($arch)", "Install")) { Install-DotNet -Version $version -Architecture $arch $restartRequired = $restartRequired -or ($LASTEXITCODE -eq 3010) @@ -281,10 +281,10 @@ if ($IncludeX86) { } if ($IsMacOS -or $IsLinux) { - $DownloadUri = "https://raw.githubusercontent.com/dotnet/install-scripts/0b09de9bc136cacb5f849a6957ebd4062173c148/src/dotnet-install.sh" + $DownloadUri = "https://raw.githubusercontent.com/dotnet/install-scripts/a3fbd0fd625032bac207f1f590e5353fe26faa59/src/dotnet-install.sh" $DotNetInstallScriptPath = "$DotNetInstallScriptRoot/dotnet-install.sh" } else { - $DownloadUri = "https://raw.githubusercontent.com/dotnet/install-scripts/0b09de9bc136cacb5f849a6957ebd4062173c148/src/dotnet-install.ps1" + $DownloadUri = "https://raw.githubusercontent.com/dotnet/install-scripts/a3fbd0fd625032bac207f1f590e5353fe26faa59/src/dotnet-install.ps1" $DotNetInstallScriptPath = "$DotNetInstallScriptRoot/dotnet-install.ps1" } @@ -306,7 +306,7 @@ $global:LASTEXITCODE = 0 $sdks |% { if ($_.Version) { $parameters = '-Version', $_.Version } else { $parameters = '-Channel', $_.Channel } - if ($PSCmdlet.ShouldProcess(".NET SDK $_", "Install")) { + if ($PSCmdlet.ShouldProcess(".NET SDK $_ ($arch)", "Install")) { $anythingInstalled = $true Invoke-Expression -Command "$DotNetInstallScriptPathExpression $parameters -Architecture $arch -InstallDir $DotNetInstallDir $switches" From e1aa37c4508bd87df71cf503dedd78fe839a7eb9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 12 Nov 2025 03:58:26 +0000 Subject: [PATCH 5/6] Pin mcr.microsoft.com/dotnet/sdk Docker tag to c7445f1 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index de697825..6637ad8a 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ # Refer to https://hub.docker.com/_/microsoft-dotnet-sdk for available versions -FROM mcr.microsoft.com/dotnet/sdk:10.0.100 +FROM mcr.microsoft.com/dotnet/sdk:10.0.100@sha256:c7445f141c04f1a6b454181bd098dcfa606c61ba0bd213d0a702489e5bd4cd71 # Installing mono makes `dotnet test` work without errors even for net472. # But installing it takes a long time, so it's excluded by default. From ed20107e2ccdd1842353ecc0bf108f9ae4fc5824 Mon Sep 17 00:00:00 2001 From: Andrew Arnott Date: Wed, 12 Nov 2025 07:04:29 -0700 Subject: [PATCH 6/6] Bump C# language version to 14 --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index e1e9ee70..a3d5fb8e 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -44,7 +44,7 @@ - 13 + 14 16.9