Skip to content

Restore source-build overridable prop names for runtime packages - #20290

Merged
T-Gro merged 2 commits into
mainfrom
t-gro-sb-runtime-props
Aug 19, 2026
Merged

Restore source-build overridable prop names for runtime packages#20290
T-Gro merged 2 commits into
mainfrom
t-gro-sb-runtime-props

Conversation

@T-Gro

Copy link
Copy Markdown
Member

Follow-up to #20278. The CPM central pins for the MSBuild/Roslyn-pulled dotnet/runtime packages were routed through intermediate ...CentralVersion properties with a 10.0.10 floor. Source-build injects live runtime versions by overriding $(System*Version) (via PackageVersions.fsharp.props), but the renamed ...CentralVersion pins were evaluated before that override and could not be set by source-build — so the floor forced 10.0.10 while source-build supplied 10.0.9, producing prebuilts and NU1109 downgrades in the VMR (dotnet/dotnet#8413, dotnet/dotnet#8414, dotnet/dotnet#8415).

eng/Packages.props now references $(System*Version) directly (matching roslyn), the floor scaffolding is gone, and the packages are declared at 10.0.10 in Version.Details so product/PR restore satisfies MSBuild 18.11 / Roslyn 5.11 without a downgrade. Source-build overrides these to its live runtime version.

The CPM central pins for the MSBuild/Roslyn-pulled dotnet/runtime packages
(System.Collections.Immutable, System.Reflection.Metadata, System.Composition,
System.Diagnostics.DiagnosticSource, System.Security.Cryptography.Xml) were
routed through intermediate ...CentralVersion properties with a 10.0.10 floor.
Source-build injects live runtime versions by overriding $(System*Version)
(via PackageVersions.fsharp.props), but the renamed ...CentralVersion pins
were frozen before that override and could not be set by source-build, so the
floor forced 10.0.10 while source-build provided 10.0.9 -> prebuilt + downgrade.
Reference $(System*Version) directly in eng/Packages.props (matching roslyn),
drop the floor scaffolding, and declare the packages at 10.0.10 in
Version.Details so product/PR restore satisfies MSBuild 18.11 / Roslyn 5.11
without a downgrade. Source-build overrides these to its live runtime version.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3a3d99e1-5b05-409a-afd5-c8d9676360f4
@github-actions

Copy link
Copy Markdown
Contributor

✅ No release notes required

T-Gro pushed a commit to dotnet/dotnet that referenced this pull request Aug 19, 2026
…ages
Direct-apply of dotnet/fsharp#20290 to unblock this codeflow PR without waiting
for the fsharp official build. Removes the ...CentralVersion/floor scaffolding
(which froze the pins before source-build's PackageVersions.fsharp.props could
override the runtime package properties) and declares the runtime packages at
10.0.10 so the vertical build restore has no downgrade. Source-build overrides
these to the live runtime version.
@github-actionsgithub-actionsBot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Aug 19, 2026
Documents why renaming the runtime-package central pins to computed
$(System*CentralVersion) aliases with a floor defeated source-build's
$(System*Version) override, and adds an eng/ instruction file so the lesson
is surfaced when editing the dependency manifests.
@T-Gro
T-Gro requested a review from abonieAugust 19, 2026 08:33
@github-project-automationgithub-project-automationBot moved this from New to In Progress in F# Compiler and ToolingAug 19, 2026
dotnet-maestroBot added a commit to dotnet/dotnet that referenced this pull request Aug 19, 2026
[release/11.0.1xx-rc1] Source code updates from dotnet/fsharp
- Fix conflicts
- [fsharp] Restore source-build overridable prop names for runtime packages
Direct-apply of dotnet/fsharp#20290 to unblock this codeflow PR without waiting
for the fsharp official build. Removes the ...CentralVersion/floor scaffolding
(which froze the pins before source-build's PackageVersions.fsharp.props could
override the runtime package properties) and declares the runtime packages at
10.0.10 so the vertical build restore has no downgrade. Source-build overrides
these to the live runtime version.
@T-Gro
T-Gro merged commit 344602c into mainAug 19, 2026
50 checks passed
@github-project-automationgithub-project-automationBot moved this from In Progress to Done in F# Compiler and ToolingAug 19, 2026
@T-Gro
T-Gro deleted the t-gro-sb-runtime-props branch August 19, 2026 09:07
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-BypassedTooling check: non-fork PR, not diff-analyzed

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants

@T-Gro@abonie