Open
Conversation
…isCSharpVersion Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Remove RoslynForTestingButNotForVSLayer
Remove RoslynForTestingButNotForVSLayer hack
Mar 2, 2026
T-Gro
approved these changes
Mar 2, 2026
Contributor
✅ No release notes required |
abonie
approved these changes
Mar 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
RoslynForTestingButNotForVSLayerwas a workaround that pinned Roslyn to 4.14.0 inFSharp.Test.Utilitiesto avoid assembly conflicts introduced by VSTest at runtime. VSTest has since been fully removed and all test projects have migrated to MTP/xunit3, making the pin obsolete.Changes
eng/Versions.props: RemoveRoslynForTestingButNotForVSLayerproperty and its explanatory commenttests/FSharp.Test.Utilities/FSharp.Test.Utilities.fsproj: SwitchMicrosoft.CodeAnalysis.Workspaces.CommonandMicrosoft.CodeAnalysis.CSharpfrom the now-deleted pin to$(MicrosoftCodeAnalysisCSharpVersion)— the same maestro-managed version used by the rest of the codebaseOriginal prompt
Ok good. Properly summarize the reasoning, exact todo actions, and form a new PR out of this idea. Get rid of RoslynForTestingButNotForVSLayer
[Chronological Review] 1. User asked to investigate CI failures on PR #19021 (MSBuild dep update branch) in dotnet/fsharp repo 2. Fetched CI errors from AzDo build 1314759 - found 17,727 test failures, mostly net472 SCI version mismatch 3. Initial wrong fix: edited auto-managed Version.Details.xml/.props directly → user corrected me 4. Planned properly: audit which System.* packages are actually needed vs transitive 5. Removed 6 System.* entries from maestro-managed files, added hand-maintained versions in Versions.props 6. First attempt used 10.0.2 → CI still failed (build 1315831) - still SCI errors on net472 7. Deep investigation: used System.Reflection.Metadata to inspect MSBuild net472 DLL assembly references → found MSBuild references SCI assembly version 9.0.0.11, not 10.0.0.0 8. Switched to 9.0.13 (latest 9.0.x patch) → pushed 9. Investigated MSBuild's version management: manually maintained by MichalPavlik, not maestro 10. CI run with 9.0.13 showed vs_release still failing (FSharp.Editor.Tests gets SCI 10.0.2 transitively from MSBuild NuGet dep) 11. Attempted Directory.Build.targets pin with Include → caused NU1504 (duplicate) and MSB3277 (assembly conflict) errors across all platforms 12. Reverted targets change, pushed clean 9.0.13 13. User asked to plan ahead for vs_release fix 14. Discovered my earlier Python-based assembly version analysis was WRONG - SCI 10.0.2 net462 actually HAS compatible System.Memory deps (assembly version 4.0.5.0 matches System.Memory 4.6.3) 15. User suggested combining with Roslyn update PR #19229 (5.0.0 → 5.6.0) since both updates are needed 16. Merged Roslyn update, switched back to 10.0.2, bumped VS Shell packages to 18.0.2188-preview.1 17. All 6 solutions restore clean, builds pass, 42/42 tests pass 18. User asked about cleanup opportunities → investigated RoslynForTestingButNotForVSLayer hack 19. Found the hack is no longer needed since VSTest was fully removed and MTP migration completed[Intent Mapping]
[Technical Inventory]
[Code Archaeology]
[Progress Assessment]
[Context Validation]
[Recent Commands Analysis]
1....
Created from Copilot CLI via the copilot delegate command.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.