Skip to content

Conversation

@kzu
Copy link
Member

@kzu kzu commented Feb 26, 2023

Project dependencies is a mechanism to affect the build order in a solution without adding project references. See https://www.cazzulino.com/project-dependencies-as-project-references.html.

In this scenario, MSBuild will emit a .metaproj for the solution and also a .metaproj for each project that declares such dependencies, which in turn uses project references for the dependencies and the original project. This generated .metaproj, obviously, won't have any of the standard targets, not even GetTargetPath, which means we won't be able to even determine if the project is nugetized or not.

This used to cause the nugetize tool to refuse to process the other projects in a solution.

This change removes such meta projects from the solution so that the other projects can still work. Note that this may result in missing (packable) projects, but the benefit is that you get some rendering at least. You can always run nugetize passing the missing projects' contents, but the current experience is clearly far worse than that.

Project dependencies is a mechanism to affect the build order in a solution without adding project references. See https://www.cazzulino.com/project-dependencies-as-project-references.html.

In this scenario, MSBuild will emit a .metaproj for the solution and *also* a .metaproj for each project that declares such dependencies, which in turn uses project references for the dependencies *and* the original project. This generated .metaproj, obviously, won't have any of the standard targets, not even GetTargetPath, which means we won't be able to even determine if the project is nugetized or not.

This used to cause the nugetize tool to refuse to process the other projects in a solution.

This change removes such meta projects from the solution so that the other projects can still work. Note that this may result in missing (packable) projects, but the benefit is that you get *some* rendering at least. You can always run nugetize passing the missing projects' contents, but the current experience is clearly far worse than that.
@kzu kzu added the enhancement New feature or request label Feb 26, 2023
@kzu kzu enabled auto-merge (rebase) February 26, 2023 01:25
@kzu kzu merged commit b963af1 into main Feb 26, 2023
@kzu kzu deleted the dev/nugetize-projectdeps branch February 26, 2023 01:36
@devlooped devlooped locked and limited conversation to collaborators Nov 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants