dotnet / dotnet/msbuild

ResolveAssemblyReference is slow on .NET Core with many references

Open
#2,015 64 comments 20 reactions 0 assignees View on GitHub
Area: Performance Area: Task: Resolve Assembly References (RAR) triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 6h
Merged PRs (30d)
139

Description

`ResolveAssemblyReferences` runs unconditionally even on incremental builds (because the user may have installed a targeting pack or, for full-framework scenarios, GACed an assembly). This makes it performance-sensitive.

With the advent of .NET Core micro-assemblies, it has become common to pass many, many references to RAR. This exacerbates performance problems.

@rynowak was kind enough to run a profiler to see this:
![image](https://cloud.githubusercontent.com/assets/3347530/25451941/75f2335e-2a89-11e7-8120-2932673c8ebe.png)

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.