[One .NET] fix parallel .sln builds #5435
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #5280
A test has been randomly failing with:
I could reproduce this by putting
[Repeat(10)]
on the test. Weshouldn't commit this change, since the test took 5+ minutes.
The problem happens when:
.sln
with two Android head projects that reference libraryprojects.
-m:4
to build with multiple MSBuild nodes.<Csc/>
of a referenced projectat the same time another.
The two
<Csc/>
calls can only occur because of the way we have innerbuilds setup for
$(RuntimeIdentifier)
in 51fb93e. One project isbuilding the referenced library normally, while another is doing an
inner build for a
$(RuntimeIdentifier)
.We don't really want
<Csc/>
to compile things at all in an innerbuild. It should just be "finding" paths to assemblies for each
$(RuntimeIdentifier)
and not doing actual work.Let's set
$(SkipCompilerExecution)
totrue
for the inner build:This property is set during design-time builds in Visual Studio, so it
should be something we can rely on here.
I think this solved the problem, as I was unable to reproduce it
anymore after a few tries. It's possible it didn't, though!