-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Labels
dotnetupWork items around the proposed `dotnetup` bootstrapper/toolchain management tool and libraryWork items around the proposed `dotnetup` bootstrapper/toolchain management tool and libraryuntriagedRequest triage from a team memberRequest triage from a team member
Description
Context
In PR #52696, dotnetup gained logic to safely handle the muxer (dotnet/dotnet.exe) during archive extraction — comparing runtime versions to decide whether to replace it and gracefully handling in-use scenarios.
However, the dotnet root contains other unversioned files beyond the muxer that are not currently handled by this logic. These include:
- The
dnxscript - License files (e.g.,
LICENSE.txt,ThirdPartyNotices.txt)
Proposal
Extend MuxerHandler (or introduce a broader handler) to manage all unversioned files stored in the dotnet root as a group. The rule should be:
- If we determine the muxer should be replaced (because a newer runtime was installed), replace all unversioned root files from the archive as well.
- If the muxer should not be replaced, skip all unversioned root files.
- Apply the same in-use / error handling strategy (warn or fail based on
--require-muxer-update) to these files.
This keeps the dotnet root files consistent and avoids a situation where a new muxer is paired with stale license/script files or vice versa.
References
- PR #52696 review comment (dsplaisted) — "I think we will want to handle not only the muxer but also any unversioned files stored in the dotnet root (which right now includes the
dnxscript and license files). I think what we want to do is handle all of those files as a group, ie if we replace the muxer then we replace the other files too."
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
dotnetupWork items around the proposed `dotnetup` bootstrapper/toolchain management tool and libraryWork items around the proposed `dotnetup` bootstrapper/toolchain management tool and libraryuntriagedRequest triage from a team memberRequest triage from a team member