Skip to content

GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild: intermittent CS0579 duplicate-attribute build failure on nested .slnx #55358

Description

@MichaelSimons

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1515786
Leg Name: TestBuild: linux (x64) - ubuntu.2204.amd64.open — Helix work item dotnet.Tests.dll.20 (Finished, exit code 2)

Microsoft.DotNet.Cli.Sln.Add.Tests.GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild intermittently fails on the ("sln", True, ".slnx") data row. After dotnet sln App.slnx add foo and add foo/bar succeed, the assertion step dotnet build App.slnx fails with exit code 1 due to error CS0579: Duplicate '...' attribute on the outer foo.csproj — the nested bar project's generated obj/**/*.AssemblyInfo.cs / .AssemblyAttributes.cs are picked up by foo's default source glob during the solution build, producing duplicate assembly attributes (test source GivenDotnetSlnAdd.cs#L294).

The failure is intermittent — the same test passes on other builds (e.g. the linux/windows dotnet.Tests partitions of build 1513455), consistent with a build-ordering/globbing race when foo and its physically-nested bar restore/build in parallel. It is not caused by the PR it was seen in — #55352 only changes a GitHub Actions workflow auth token and does not touch dotnet sln or the build.

Observed occurrence:

Error Details

failed WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild ("sln",True,".slnx") (8s 914ms)
  Test method Microsoft.DotNet.Cli.Sln.Add.Tests.GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild threw exception:
  FluentAssertions.Execution.AssertionFailedException: Expected value to be 0 because Expected command to pass but it did not.
  File Name: .../p/d/dotnet
  Arguments: build App.slnx
  Exit Code: 1
  StdOut:
    ...
    bar -> .../foo/bar/bin/Debug/netstandard2.0/bar.dll
  .../foo/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.cs(4,12): error CS0579: Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute [.../foo/foo.csproj]
  .../foo/obj/Debug/netstandard2.0/foo.AssemblyInfo.cs(13,12): error CS0579: Duplicate 'System.Reflection.AssemblyCompanyAttribute' attribute [.../foo/foo.csproj]
  .../foo/obj/Debug/netstandard2.0/foo.AssemblyInfo.cs(14,12): error CS0579: Duplicate 'System.Reflection.AssemblyConfigurationAttribute' attribute [.../foo/foo.csproj]
  ... (8 Error(s) total) ...
  Build FAILED.

    at Microsoft.NET.TestFramework.Assertions.CommandResultAssertions.Pass() in /_/test/Microsoft.NET.TestFramework/Assertions/CommandResultAssertions.cs:27
    at Microsoft.DotNet.Cli.Sln.Add.Tests.GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild(String solutionCommand, Boolean fooFirst, String solutionExtension) in /_/test/dotnet.Tests/CommandTests/Solution/Add/GivenDotnetSlnAdd.cs:294

Error Message

{
    "ErrorMessage": [
        "failed WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild",
        "GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild"
    ],
    "BuildRetry": false,
    "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1515786
Error message validated: [failed WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild GivenDotnetSlnAdd.WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 7/19/2026 7:19:17 AM UTC

Report

Build Repository Test Pull Request
1515786 dotnet/sdk WhenNestedProjectIsAddedSolutionFoldersAreCreatedBuild #55352

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 1 1

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions