Evaluation order of ItemGroup Batching suddenly changed in 16.8
- Dominant language
- C#
- Stars
- 5.5k
- Forks
- 1.5k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 141
Description
### Issue Description
After installing .NET 5 on our build servers, we noticed that the evaluation order of ItemGroup batching changed, making it a breaking change.
The .NET 5 installer replaced MSBuild 16.X with 16.8.
We were able to create a minimalistic repro scenario.
This also happens if a developer updates visual studio 2019 with the installer to the newest version.
### Steps to Reproduce
```
A
B
B
```
### Expected Behavior
```
CreateArchiveName: A
CreateArchiveName: B
```
This is also the behavior of MSBuild 16.7 and below.
### Actual Behavior
```
CreateArchiveName: B
CreateArchiveName: A
```
### Analysis
In 16.7 and below the batching order seems to be defined by the order of the attributes of `LogIt` in the XML. (the first one defines the order)
In 16.8 the batching order seems to be defined by the names of the attributes of `LogIt` in the XML alphabetically. (the last one defines the order)
### Versions & Configurations
Microsoft (R)-Build-Engine, Version 16.8.2+25e4d540b
### Attach a binlog
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.