dotnet / dotnet/project-system
Make the PackageReference support general purpose for all languages
- Dominant language
- C#
- Stars
- 1k
- Forks
- 415
- PR merge metrics
- No merged PRs in 30d
Description
We added support for `` this release, but other languages/project types are interested in consuming it including C++, MSIX deployment and NuGetizer.
The work required, that I can see is:
- [x] General purpose the [PackageRestoreInitiator](https://github.com/dotnet/project-system/blob/master/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/ProjectSystem/VS/NuGet/PackageRestoreInitiator.cs) and make it work for all project types. [Done](https://github.com/dotnet/project-system/blob/master/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/ProjectSystem/VS/NuGet/PackageRestoreInitiator.cs#L16) - works via PackageReferences capability (16.1)
- [x] General purpose the [ProjectAssetsFileWatcher](https://github.com/dotnet/project-system/blob/master/src/Microsoft.VisualStudio.ProjectSystem.Managed.VS/ProjectSystem/VS/NuGet/ProjectAssetFileWatcher.cs) and make it work for all project types. Done - works via PackageReferences capability (16.1)
- [x] Embed restore rules into .NET Project System
- [x] NuGet features should light up for projects that have the capability; "PackageReferences" (~https://github.com/NuGet/Home/issues/9957~, https://github.com/NuGet/NuGet.Client/pull/3644)
- [ ] [`` needs to be moved lower than the SDK](https://github.com/dotnet/sdk/issues/13255)
- [ ] Figure out how all these project types pick up the [NuGet SDK tasks/targets](https://github.com/dotnet/sdk/blob/master/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.PackageDependencyResolution.targets) that produce assets (references, copy to output items, etc) for consumption during build and assets that are used to populate the DependenciesTree.
- [ ] Move PackageRestore code to CPS -or- install .NET Project System in all the same places as CPS
- Without this, Package Restore code would not light up if we weren't installed.
Contributor guide
Assessment
This issue has not been assessed yet.