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

VS project nominations should use generic data structure #13443

Closed
zivkan opened this issue May 16, 2024 · 0 comments · Fixed by NuGet/NuGet.Client#5801
Closed

VS project nominations should use generic data structure #13443

zivkan opened this issue May 16, 2024 · 0 comments · Fixed by NuGet/NuGet.Client#5801
Assignees
Labels
Partner:Project-System Priority:2 Issues for the current backlog. Product:VS.Client Type:DCR Design Change Request

Comments

@zivkan
Copy link
Member

zivkan commented May 16, 2024

For project systems in Visual Studio that support both CPS and PackageReference capabilities (so in effect just the SDK style .NET projects) use a NuGet data flow where the project system pushes project item and properties to NuGet via an API called NominateProjectAsync.

This API has a data structure where the interface has properties ProjectReferences, PackageReferences, and so on. So, every time NuGet wants to add a new MSBuild item, we need to create a new iterface for the new item type, publish the package, then edit dotnet/project-system to use the new package and set the new property for the item.

Project properties and item metadata already use a generic property bag, which is more or less equivalent to IReadOnlyDictionary<string, string> (but is different for COM compatibility). Items should also use a generic data structure, so that future additions to which MSBuild items NuGet reads no longer requires project system to update package versions to implement the change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Partner:Project-System Priority:2 Issues for the current backlog. Product:VS.Client Type:DCR Design Change Request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant