Rationalize how MSBuild loads NuGet.Frameworks.dll (esp. in bootstrap)
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 133
Description
We've had a break https://github.com/dotnet/msbuild/issues/6289 that was fixed with https://github.com/dotnet/msbuild/pull/6301.
However long term I'd like to rationalize the following:
1. why are we dynamically loading the assembly there in the first place? Is this the right thing to do?
2. can we more closely replicate what happens in the actual production VS? Since NuGet.Frameworks.dll there is loaded from a single location (not next to MSBuild.exe), but in bootstrap it is deployed to two separate locations and loaded from both, which seems fragile and caused the above issue.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the failure in issue 6289 and the fix in pull request 6301, then trace how the bootstrap loads NuGet.Frameworks.dll relative to MSBuild.exe. Done means deciding whether dynamic loading is needed and aligning bootstrap deployment and loading with production Visual Studio's single assembly location.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100