Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 15, 2025

Description

The NuGet.SolutionRestoreManager.Interop package is deprecated; NuGet 6.0+ consolidated restore APIs into NuGet.VisualStudio (17.x+).

Changes

  • eng/Versions.props: Replace NuGetSolutionRestoreManagerInteropVersion (5.6.0) with NuGetVisualStudioVersion (17.14.0)
  • vsintegration/tests/FSharp.Editor.IntegrationTests/FSharp.Editor.IntegrationTests.csproj: Update package reference from NuGet.SolutionRestoreManager.Interop to NuGet.VisualStudio

No code changes required—restore APIs (IVsSolutionRestoreService, IVsSolutionRestoreService2, IVsSolutionRestoreStatusProvider) remain in the same NuGet.SolutionRestoreManager namespace.

Checklist

  • Test cases added
  • Performance benchmarks added in case of performance changes
  • Release notes entry updated
Original prompt

Goal: Migrate from the deprecated NuGet.SolutionRestoreManager.Interop package to NuGet.VisualStudio version 17.14.0 in the dotnet/fsharp repository, ensuring restore-related integration tests still compile and run.

Background

  • The package NuGet.SolutionRestoreManager.Interop is deprecated; NuGet 6.0 / VS 17.x moved the APIs to NuGet.VisualStudio (per NuGet.org page).
  • Current usage:
    • eng/Versions.props defines <NuGetSolutionRestoreManagerInteropVersion>5.6.0</NuGetSolutionRestoreManagerInteropVersion>.
    • vsi…/tests/FSharp.Editor.IntegrationTests/FSharp.Editor.IntegrationTests.csproj references NuGet.SolutionRestoreManager.Interop with Version="$(NuGetSolutionRestoreManagerInteropVersion)".
    • vsi…/tests/FSharp.Editor.IntegrationTests/InProcess/SolutionExplorerInProcess.cs uses restore-related APIs (IVsSolutionRestoreService, IVsSolutionRestoreService2, IVsSolutionRestoreStatusProvider) that should resolve from NuGet.VisualStudio after migration.

Tasks

  1. Version property
  • In eng/Versions.props, replace the interop version property with a new property for NuGet.VisualStudio, e.g. <NuGetVisualStudioVersion>17.14.0</NuGetVisualStudioVersion>.
  • Remove the old NuGetSolutionRestoreManagerInteropVersion if no longer referenced.
  1. Package reference
  • In vsi…/tests/FSharp.Editor.IntegrationTests/FSharp.Editor.IntegrationTests.csproj, replace the PackageReference for NuGet.SolutionRestoreManager.Interop with NuGet.VisualStudio and set Version="$(NuGetVisualStudioVersion)".
  • Ensure no remaining references to NuGet.SolutionRestoreManager.Interop or its version property.
  1. Code compatibility
  • Confirm vsi…/tests/FSharp.Editor.IntegrationTests/InProcess/SolutionExplorerInProcess.cs (and any related files) still compile using the restore APIs from NuGet.VisualStudio. Adjust namespaces/usings only if needed.
  1. Validation
  • Restore/build the integration test project (net472) to ensure the new package resolves and compiles.
  • If feasible, run the relevant integration tests touching restore to confirm behavior; otherwise note if only build validation was performed.

Acceptance Criteria

  • NuGet.VisualStudio 17.14.0 is referenced; NuGet.SolutionRestoreManager.Interop is removed.
  • The version property for the old interop package is removed or unused; new NuGetVisualStudioVersion is in place.
  • Integration tests and solution restore helper code compile with the new package; build/restore succeeds.

This pull request was created as a result of the following prompt from Copilot chat.

Goal: Migrate from the deprecated NuGet.SolutionRestoreManager.Interop package to NuGet.VisualStudio version 17.14.0 in the dotnet/fsharp repository, ensuring restore-related integration tests still compile and run.

Background

  • The package NuGet.SolutionRestoreManager.Interop is deprecated; NuGet 6.0 / VS 17.x moved the APIs to NuGet.VisualStudio (per NuGet.org page).
  • Current usage:
    • eng/Versions.props defines <NuGetSolutionRestoreManagerInteropVersion>5.6.0</NuGetSolutionRestoreManagerInteropVersion>.
    • vsi…/tests/FSharp.Editor.IntegrationTests/FSharp.Editor.IntegrationTests.csproj references NuGet.SolutionRestoreManager.Interop with Version="$(NuGetSolutionRestoreManagerInteropVersion)".
    • vsi…/tests/FSharp.Editor.IntegrationTests/InProcess/SolutionExplorerInProcess.cs uses restore-related APIs (IVsSolutionRestoreService, IVsSolutionRestoreService2, IVsSolutionRestoreStatusProvider) that should resolve from NuGet.VisualStudio after migration.

Tasks

  1. Version property
  • In eng/Versions.props, replace the interop version property with a new property for NuGet.VisualStudio, e.g. <NuGetVisualStudioVersion>17.14.0</NuGetVisualStudioVersion>.
  • Remove the old NuGetSolutionRestoreManagerInteropVersion if no longer referenced.
  1. Package reference
  • In vsi…/tests/FSharp.Editor.IntegrationTests/FSharp.Editor.IntegrationTests.csproj, replace the PackageReference for NuGet.SolutionRestoreManager.Interop with NuGet.VisualStudio and set Version="$(NuGetVisualStudioVersion)".
  • Ensure no remaining references to NuGet.SolutionRestoreManager.Interop or its version property.
  1. Code compatibility
  • Confirm vsi…/tests/FSharp.Editor.IntegrationTests/InProcess/SolutionExplorerInProcess.cs (and any related files) still compile using the restore APIs from NuGet.VisualStudio. Adjust namespaces/usings only if needed.
  1. Validation
  • Restore/build the integration test project (net472) to ensure the new package resolves and compiles.
  • If feasible, run the relevant integration tests touching restore to confirm behavior; otherwise note if only build validation was performed.

Acceptance Criteria

  • NuGet.VisualStudio 17.14.0 is referenced; NuGet.SolutionRestoreManager.Interop is removed.
  • The version property for the old interop package is removed or unused; new NuGetVisualStudioVersion is in place.
  • Integration tests and solution restore helper code compile with the new package; build/restore succeeds.

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…io 17.14.0

Co-authored-by: T-Gro <46543583+T-Gro@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate to NuGet.VisualStudio version 17.14.0 Migrate from deprecated NuGet.SolutionRestoreManager.Interop to NuGet.VisualStudio 17.14.0 Dec 15, 2025
Copilot AI requested a review from T-Gro December 15, 2025 13:16
@T-Gro T-Gro marked this pull request as ready for review December 15, 2025 15:12
@T-Gro T-Gro requested a review from a team as a code owner December 15, 2025 15:12
@github-actions
Copy link
Contributor

✅ No release notes required

@T-Gro T-Gro requested a review from abonie December 15, 2025 15:13
@github-project-automation github-project-automation bot moved this from New to In Progress in F# Compiler and Tooling Dec 15, 2025
@abonie abonie merged commit da3cf8b into main Dec 15, 2025
39 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in F# Compiler and Tooling Dec 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants