From 39e1f9939598a0ff67a365ca0a1cd88dbf25b8da Mon Sep 17 00:00:00 2001 From: "Jason Williams (Xbox)" Date: Wed, 12 Aug 2026 11:24:31 -0700 Subject: [PATCH] Document the exact .NET SDK version required to build README told contributors to install the .NET 10 SDK `or the latest version`, but global.json pins 10.0.203 with `rollForward: disable`. Following the README therefore produced a build that refuses to run. State the exact version, show the error it produces, and explain why the pin exists: the projects restore with NuGet lock files, so a looser pin would let different SDKs resolve different transitive versions and emit spurious packages.lock.json diffs in unrelated pull requests. Docs only. No build or project changes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e2936a67..5b97273c 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,11 @@ Alternately, the executables (both the GUI and CMD tools) are also available fro Furthermore, you can also build it. -1. [Download the .NET 10 SDK](https://dotnet.microsoft.com/en-us/download) or the latest version. +1. [Download the .NET SDK](https://dotnet.microsoft.com/en-us/download/dotnet/10.0), specifically version **10.0.203**. + + This repository pins the SDK in [`global.json`](global.json) with `"rollForward": "disable"`, so the build requires that exact version and will not fall back to a newer SDK. If a different SDK is installed, `dotnet build` fails with `Install the [10.0.203] .NET SDK or update global.json to match an installed SDK`. + + The pin is deliberate. All projects restore with [NuGet lock files](https://learn.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies), and different SDK versions resolve different transitive package versions, which would otherwise cause spurious `packages.lock.json` changes to appear in unrelated pull requests. Installing 10.0.203 alongside your existing SDKs is safe; it does not replace them. 2. Open PowerShell, and then browse to the folder where you downloaded Package Uploader. 3. Browse to the `src` folder, and then run `./publish.win-x64.ps1`. 4. When it's built, PackageUploader.exe is in the `src\PackageUploader.Application\bin\release\win-x64\publish` directory.