Skip to content
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

Add support for solution level PC -> PR migration #5879

Open
nkolev92 opened this issue Sep 12, 2017 · 6 comments
Open

Add support for solution level PC -> PR migration #5879

nkolev92 opened this issue Sep 12, 2017 · 6 comments
Labels
Functionality:PCtoPRMigrator PC to PR migrator in VS Functionality:Restore Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Product:VS.Client Style:PackageReference Style:Packages.Config
Milestone

Comments

@nkolev92
Copy link
Member

Implement the solution level project walking strategy for the PC -> PR migration.

Example, for a project graph like the following:

A -> B -> C
B -> D -> E
F

Migrate firstly the leaf projects, because the result of their restore will impact the referencing projects too.

So restore, C, E, F first. Then restore D, B and lastly A.

@karann-msft
Copy link
Contributor

recently when an enterprise customer attempted to move to Package Ref, they had a lot of pain doing this one project a time with 1400 projects. I believe this is representative of the enterprise customer experience in general.

@nkolev92
Copy link
Member Author

nkolev92 commented Jun 3, 2019

A healthy amount of work on this PR was done by @jainaashish already in NuGet/NuGet.Client#2122.

We can revisit that when we get back to this issue.

@nkolev92 nkolev92 removed their assignment Sep 19, 2019
@nkolev92 nkolev92 added Functionality:PCtoPRMigrator PC to PR migrator in VS Product:VS.Client Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. labels Sep 19, 2019
@astrohart
Copy link

Absolutely want to upvote this. While I am not a customer at a large enterprise per se, I am working on doing AI with C# and I have a solution that is approx 200 projects or so.

Wanted to definitely give this issue my thumbs up. I think having to right-click each of the 200 projects is tedious and time consuming. This definitely should be scriptable/iterable.

@astrohart
Copy link

A healthy amount of work on this PR was done by @jainaashish already in NuGet/NuGet.Client#2122.

We can revisit that when we get back to this issue.

Totally, totally, TOTALLY want to see this implemented yesterday, by noon! :-)

@AceOubahaTLI
Copy link

Upvote - migrating dozens of packages across multiple solutions and this would greatly help.

@zivkan
Copy link
Member

zivkan commented May 9, 2023

Note that NuGet's packages.config to PackageReference migration doesn't convert non-SDK style projects to SDK style. It only changes the package restore style for the project.

.NET's Upgrade Assistant does the project format conversation as well, has a solution upgrade feature, and appears to support upgrading from packages.config. So, anyone not specifically wanting to remain on the non-SDK style project should consider trying upgrade-assistant. SDK style projects can target .NET Framework, although I haven't used Upgrade Assistant myself so I don't know if it has an option to just convert the project file. It if does update to a newer TFM, it should be a 1 line change to re-targets the SDK style project back to .NET Framework. There's also a try-convert tool, but it doesn't get updated as much as Upgrade Assistant, so I don't know what its status is.

Anyway, these tools aren't a 100% replacement for NuGet's solution PC->PR upgrade, as some projects need to stay non-SDK style. But many projects will have no issues converting to SDK style, so these are tools that can be used today to achieve a better outcome than NuGet's PC to PR migration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Functionality:PCtoPRMigrator PC to PR migrator in VS Functionality:Restore Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Product:VS.Client Style:PackageReference Style:Packages.Config
Projects
None yet
Development

No branches or pull requests

8 participants