dotnet / dotnet/msbuild

Individually-batched MSBuild calls should emit a message

Open
#1,330 3 comments 0 reactions 0 assignees View on GitHub
Feature: Warning Waves triaged User Experience
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 8h
Merged PRs (30d)
141

Description

MSBuild can build multiple projects in parallel if they're all passed at once as items to the MSBuild task.

One common way that this goes wrong is doing something else in the MSBuild task invocation that causes batching in the MSBuild engine, meaning that the MSBuild task is invoked multiple times, each with a single project. If that happens, even though `BuildInParallel="true"`, the build will actually be serialized.

It'd be really nice if MSBuild could detect this so that an educated user could easily see that it was happening. I diagnosed an issue like this today (for the internal VS repo) and it took a very long time to figure out why the expected parallelism wasn't coming out.

I'm not sure if this could be a warning or error. That would break legacy code, and there might be a good reason to batch over MSBuild (though I can't think of one at the moment).

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.