packages.config (PC) to PackageReference (PR) Migration
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 1.6k
- Forks
- 276
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 1
Description
Status: In Progress
Issue to track new feature work around enabling packages.config (PC) to PackageReference (PR) upgrader workflow.
Here is the link to the spec.
Feel free to comment below with your feedback.
Related issues
https://github.com/NuGet/Home/issues/12388
Overall Issue Description:
- https://github.com/NuGet/Home/issues/4942 After enabling PackageReference support for projects, some packages may not install or work correctly
Likely Project System Issues
-
https://github.com/dotnet/project-system/issues/3042 - ContentFiles "Any" folder issue with classic csproj
-
https://github.com/dotnet/project-system/issues/3431 Display ContentFiles in Legacy PR
-
https://github.com/NuGet/Home/issues/2365 - Some assemblies in NuGet packages should be linked, not referenced (Pertains to interop assemblies and the knowledge of whether an assembly needs to be referenced. Lost when moved to the transitive world)
-
https://github.com/dotnet/project-system/issues/2859 - Project System side ASK for embedded interops
-
PP transforms - supported, but csproj.dll issue (link?) (see related https://github.com/NuGet/Home/issues/5880)
-
ContentFiles doesn't work with legacy PackageReference. Some issues in NuGet but also needs to coordinate with Project System as well. (https://github.com/NuGet/Home/issues/5958 https://github.com/dotnet/project-system/issues/2861)
-
CPS projects can't handle contentFiles from separate packages using the same file name. (https://github.com/NuGet/Home/issues/5048)
-
https://devdiv.visualstudio.com/DevDiv/NuGet/_workitems/edit/567298 - Wildcard support in legacy project systemWon't fix. -
Internal bug 465204 - NuGet Build Tasks don’t put proper metadata on satellite assemblies (potentially a restore issue)
NuGet Migration Issues:
- https://github.com/NuGet/Home/issues/5963 Come up with a strategy for packages that have install.ps1/uninstall.ps1 .
- https://github.com/NuGet/Home/issues/5954 XDT Transforms don't work for transitive restore
- NuGet.Config RepositoryPath controls Solution package directory for PC users. PR doesn't have a Solution package directory. (RestorePackagesPath can set the location of UserPackageFolder that is used by PC and PR codepaths) - No fix. Everything goes to the global packages folder.
- In order to pack normal PackageRef projects, you need to add a PR to NuGet.Build.Tasks.Pack, but there are still gaps (includereferencedprojects) - at that point, dotnet.exe pack will work, but nuget.exe pack won't. Related - https://github.com/NuGet/Home/issues/6285
- EntityFramework story - https://github.com/NuGet/Home/issues/5974 & https://github.com/aspnet/EntityFramework6/issues/189
- what data should we collect to ensure we learn and adapt (this needs more thought)
- https://github.com/NuGet/Home/issues/6009 - Update documentation for package reference
NuGet PC to PR Migration Tool Issues
- https://github.com/NuGet/Home/issues/5488 - Provide migration tool to move from packages.config project to packagereference
- https://github.com/NuGet/Home/issues/5879 - Add support for solution level PC -> PR migration
- Ensure the user understands changes made for them (and give them options to tweak our behavior if necessary???)
- P0 - enable project level migration (which needs to be able to walk up towards the root, changing each to PR.
Changes to NuGet PM UI to adapt to transitive: - Transitive dependency management, list transitive package in a flatlist - https://github.com/NuGet/Home/issues/5887
- Rework the UI - https://github.com/NuGet/Home/issues/6530
VS Extensibility Team Issues
- VS SDK project support : https://github.com/NuGet/Home/issues/5899
C++ Team Issues
- Find bug to link Internal C++ bug# 188588
WPF Project Compat Issues:
- https://github.com/NuGet/Home/issues/5894 - PackageReference broken in WPF projects due to tmp_proj not importing Package-supplied build authoring
Clean up our own Repro to remove the need for install.ps1
- https://github.com/NuGet/Home/issues/5414 - Update NuGet.VisualStudio for PackageReference projects
- https://github.com/NuGet/Home/issues/5971 Enable the build bootstrapping scenario which is supported by PC today. See configure.ps1 in NuGet repo. (dotnet install tool foo.bar -- may help solve this)
Work with package owners (see related item# https://github.com/NuGet/Home/issues/5960)
- Analyze how many packages have install/uninstall.ps1 and analyze the impact this change would have.
- Analyze contentfiles vs content packages - https://github.com/NuGet/Home/issues/5048
- Analyze lib/foo.dll packages
- https://github.com/NuGet/Home/issues/6623 Jquery/Bower + Alternative Package Manager Providers
Validation to improve ecosystem for new push/ingested packages
- once we clean up, how do we keep it clean? Validation at pack/push/ingest time?
Package Reference experience issues
- https://github.com/NuGet/Home/issues/5939 - Install/Uninstall operations from PMC do not refresh PM UI for legacy project system
- https://github.com/dotnet/project-system/issues/2129 - Improve PackageReference support in old project system - $(MyVersion) in version string.
- https://github.com/NuGet/Home/issues/4778 Error experience with unavailable frameworks, PR.
- https://github.com/NuGet/Home/issues/4989 - Documentation issue.
- https://github.com/NuGet/Home/issues/4488 - PackageRef project opt-in technique
- https://github.com/NuGet/Home/issues/8980 Allow project format selection dialog should be enabled by default.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked packages.config-to-PackageReference migration spec, then review the unchecked related issues and migration-tool items listed here. This is a broad tracking issue rather than a single code change; done would require resolving or explicitly closing the remaining migration scope and validation items.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 10/100