dotnet / dotnet/project-system

Investigate places that EvaluationContext should be used

Open
#4,649 6 comments 1 reaction 0 assignees View on GitHub
Performance-Scenario-Solution-Open Priority:1 Tenet-Performance Triage-Approved
Dominant language
C#
Stars
1k
Forks
415
PR merge metrics
No merged PRs in 30d

Description

CPS introduced a concept called IProjectEvaluationContextService that enables features throughout CPS to turn usage of a "shared" evaluation context in MSBuild so that disk lookups (for globs) and SDK resolves are shared between different project evaluations. This feature was never turned on (and hidden behind remote setting) because no benefit was found at the time. I believe that https://github.com/Microsoft/msbuild/issues/4025 might change this.

We should do a few things:

- [ ] Investigate whether we should turn this on for solution load - use projects that use that resolver, such as Roslyn/CoreFX as example of this
- [ ] Investigate whether we should turn this on places that we bulk re-evaluate - such as in CPS's ProjectReevaluatingTriggerService

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.