Skip to content

Conversation

@nagilson
Copy link
Member

@nagilson nagilson commented Jan 27, 2026

Building on top of #52649, we want to be a first party dogfooder to QA our product, evaluate its functionality as a user, and gain confidence in its ability to be publicly consumed elsewhere. This is not going to apply to main or any official branch currently releasing because we still need approval for that pending other work items.

We will eventually install nightly SDK and Runtimes with this as well, but this is a good stop gap for now. To make that work we need to download a dotnetup executable, because we can't build dotnetup without the SDK. Since we don't have that acquisition experience of dotnetup itself done, and it doesn't yet install preview SDKs, I think this is good for now.

Targeting branch is the one that implements runtime selection since we depend on that, to have a digestible PR and will be changed once that's done.

InitializeDotnetCli installs the .NET 10 SDK
EnsureDotnetupBuilt checks if dotnetup.exe exists, builds it if not
InstallDotNetSharedFramework uses dotnetup to install runtimes 6.0, 7.0, 8.0, 9.0

- I considered containing the dotnetup exe itself or acquiring it but that would require sign checks to be secure.
…mpl' into nagilson-sdk-uses-dnup-for-core-runtimes
We also get rid of the deletion of pdbs - it's an unncessary step.
Also, we don't fall back to the install script - we want to fail if dotnetup fails so we know it's failing. It should never fail. It if fails we want to find out why and fix it.
I dont think  we can be AOT and single file at the same time unless we have a specific satellite resource language specified, but we can look into that when we do loc.
@nagilson nagilson marked this pull request as ready for review January 27, 2026 22:13
@nagilson nagilson requested a review from dsplaisted January 27, 2026 22:13
@nagilson nagilson self-assigned this Feb 3, 2026
Copy link
Member

@dsplaisted dsplaisted left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Once we can build and publish the dotnetup exe to pipeline artifacts, we might be able to use that to download the stage 0 .NET SDK, even if we don't yet have an easy-to-use place to acquire dotnetup from.

@nagilson nagilson changed the base branch from nagilson-dnup-install-runtimes-impl to release/dnup February 6, 2026 22:53
@nagilson
Copy link
Member Author

nagilson commented Feb 6, 2026

Looks good.

Once we can build and publish the dotnetup exe to pipeline artifacts, we might be able to use that to download the stage 0 .NET SDK, even if we don't yet have an easy-to-use place to acquire dotnetup from.

You bet! That is my next step after merging the other PRs back into this since this is unblocked.

Copilot AI review requested due to automatic review settings February 6, 2026 23:15
@nagilson nagilson enabled auto-merge February 6, 2026 23:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the release/dnup branch build toolset restoration flow to use the in-repo dotnetup tool for installing the core .NET runtimes needed for testing/dogfooding.

Changes:

  • Build dotnetup during toolset restore (if not already present) and use it to install Microsoft.NETCore.App runtime versions 6.0.0–9.0.0.
  • Add NativeAOT-related properties to src/Installer/dotnetup/dotnetup.csproj.
  • Ignore the eng/dotnetup/ publish output directory in .gitignore.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.

File Description
src/Installer/dotnetup/dotnetup.csproj Adds NativeAOT-related MSBuild properties intended to support producing a usable dotnetup binary for bootstrapping.
eng/restore-toolset.sh Builds dotnetup and switches runtime installation to dotnetup runtime install ....
eng/restore-toolset.ps1 Builds dotnetup and switches runtime installation to dotnetup runtime install ... (Windows).
.gitignore Ignores eng/dotnetup/ publish output from source control.

nagilson and others added 3 commits February 9, 2026 09:58
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@nagilson nagilson disabled auto-merge February 9, 2026 18:16
@nagilson
Copy link
Member Author

nagilson commented Feb 9, 2026

I'm thinking this PR will fail until #52696 is merged due to the issues with the muxer handling.

could go in a separate PR and is somewhat opinionated - but I think the intent is clear to install to a specific path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants