-
Notifications
You must be signed in to change notification settings - Fork 832
Automate Roslyn Dependency Management with Darc & Prune Direct References #18957
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
…fsharp into move-roslyn-deps-to-darc
…id nuget conflicts
vsintegration/src/FSharp.ProjectSystem.PropertyPages/FSharp.ProjectSystem.PropertyPages.vbproj
Outdated
Show resolved
Hide resolved
vsintegration/src/FSharp.ProjectSystem.FSharp/FSharp.ProjectSystem.FSharp.fsproj
Outdated
Show resolved
Hide resolved
vsintegration/src/FSharp.ProjectSystem.Base/FSharp.ProjectSystem.Base.csproj
Outdated
Show resolved
Hide resolved
vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj
Outdated
Show resolved
Hide resolved
vsintegration/src/FSharp.LanguageService/FSharp.LanguageService.fsproj
Outdated
Show resolved
Hide resolved
vsintegration/src/FSharp.LanguageService.Base/FSharp.LanguageService.Base.csproj
Outdated
Show resolved
Hide resolved
There was a problem hiding this 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 modernizes dependency management by moving Roslyn and Visual Studio dependencies from manually managed versions to dependency auto-update flow control (darc). The change removes numerous hard-coded package references from project files and consolidates version management through centralized configuration files.
Key changes:
- Removes manually managed package references from Visual Studio integration projects
- Updates Versions.props with new version patterns and removes obsolete version variables
- Adds dependency tracking entries in Version.Details.xml for automated updates
- Updates test framework to dynamically read versions from Versions.props instead of using hard-coded values
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
vsintegration/tests/UnitTests/VisualFSharp.UnitTests.fsproj | Removes 20+ manually managed Visual Studio package references |
vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj | Removes most Visual Studio package references, adds System.ComponentModel.Composition reference, changes EditorFeatures package |
vsintegration/src/FSharp.LanguageService/ProjectSitesAndFiles.fs | Removes unused System.ComponentModel.Composition import |
eng/Versions.props | Updates version variables for VS packages, removes obsolete RoslynVersion group |
eng/Version.Details.xml | Adds dependency entries for Roslyn packages to enable darc management |
tests/FSharp.Test.Utilities/TestFramework.fs | Updates to read compiler versions from Versions.props dynamically |
Updated PackageReference for System.Collections.Immutable to exclude all assets.
…igh one for vsintegration)
This PR transitions Roslyn dependencies from manual version management to automated updates via darc subscriptions, simplifying ongoing maintenance and improving reliability. The main changes include:
Versions.props
by removing unnecessary package version entries.By ensuring that only necessary and directly-used packages are referenced, and letting darc handle version updates, this work reduces the likelihood of NuGet conflict errors and warnings caused by mismatched or redundant version specifications. The result is a more predictable build process, less manual intervention, and improved dependency hygiene for future updates.