dotnet / dotnet/msbuild

Avoid ngen for `amd64\` folder DLLs

Open
#11,180 0 comments 1 reaction 1 assignee Claimed by @rainersigwald View on GitHub
Area: Performance triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

We should not load assemblies from the `bin\amd64` subfolder of MSBuild in normal operation--VS, MSBuild.exe, and MSBuildLocator should load the single copies from `bin\` instead.

Some tools load MSBuild assemblies directly from `bin\amd64` and as a result we've had to ship should-be-redundant copies of assemblies there in several cases. We should avoid this where possible.

Today, most of those assemblies are marked for ngen, and further with the default ngen that uses `vsn.exe.config` (the in-VS binding redirects) AND FURTHER for all architectures:

https://github.com/dotnet/msbuild/blob/a71903d9684e24db3db261b27ca73c0ef879cf81/src/Package/MSBuild.VSSetup/files.swr#L180-L190

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.