dotnet / dotnet/project-system

Make the PackageReference support general purpose for all languages

Open
#2,491 33 comments 28 reactions 1 assignee Claimed by @davkean View on GitHub
Triage-Approved
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.