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