dotnet / dotnet/project-system

Ensure that we only have a single design-time build on open

Open
#2,521 2 comments 0 reactions 0 assignees View on GitHub
Feature-Language-Service 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

Today, we have a bunch of components hooking up to JointRuleSource and ProjectBuildRuleSource to kick off design-time builds, typically when they are initialized. These trickle in, resulting in unneeded design-time builds during startup.

We should add a service that makes sure given a "normal" project gathers all the known design-time targets we're going to launch, listen to them and making sure we only have a single design-time build during startup.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the components that hook up to JointRuleSource and ProjectBuildRuleSource during initialization. Map the design-time targets gathered for a normal project and how startup builds are triggered. Done means the known startup targets are coordinated so only one design-time build runs, with coverage for the startup behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.