[release/10.0] Copy BuildHost instead of using contentFiles from Microsoft.CodeAnalysis.Workspaces.MSBuild #37114
+145
−46
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #36970
Description
Microsoft.CodeAnalysis.Workspaces.MSBuildrequires BuildHost to be available in the output folder for projects that copy dependencies to the output folder. The previous fix removed contentFiles from PrivateAssets of theMicrosoft.CodeAnalysis.Workspaces.MSBuildreference to achieve this, however it has a side effect of also copying BuildHost to the publish folder. A more targeted fix is to copy over BuildHost to output folder only when needed.Microsoft.CodeAnalysis.Workspaces.MSBuild5.0.0 needs to be referenced as it contains a fix to load BuildHost from the NuGet cache in cases where dependencies aren't copied to the output folderCustomer impact
BuildHost folders appear in the publish folder. The workaround is to delete them or to add contentFiles to PrivateAssets for projects that don't use BuildHost.
How found
Customer reported on 10.0.0-rc2.
Regression
Yes, from 10.0.0-rc1. Introduced in #36708
Testing
Tested manually
Risk
Low, only design-time tools are affected by the change.