Skip to content

Bug: utilitiescs-test-duplicate-percentageformattertests-compile-entry #510

Description

@drmoisan
  • Work Mode: minor-audit

Summary

UtilitiesCS.Test/UtilitiesCS.Test.csproj lists OutlookObjects\Folder\PercentageFormatterTests.cs twice, producing MSBuild warning CS2002 ("Source file specified multiple times"). The duplicate is long-standing and unrelated to any single feature branch.

Environment

  • OS/version: Windows 11 Pro 10.0.26200
  • Runtime: .NET Framework 4.8.1, legacy non-SDK project (ToolsVersion="15.0", packages.config)
  • Command/flags used: msbuild TaskMaster.sln /t:Build /p:Configuration=Debug /p:Platform="Any CPU" /p:EnableNETAnalyzers=true /p:EnforceCodeStyleInBuild=true
  • Data source or fixture: UtilitiesCS.Test/UtilitiesCS.Test.csproj

Steps to Reproduce

  1. From the repository root, run the analyzer build command above.
  2. Search the build output for CS2002.
  3. Inspect UtilitiesCS.Test/UtilitiesCS.Test.csproj and search for PercentageFormatterTests.cs.

Expected Behavior

Each source file appears exactly once in the project's <Compile Include> item group, and the build emits no CS2002 warning.

Actual Behavior

The file is included twice. Verified on 2026-08-08 on branch bug/quickfiler-search-keystroke-focus-steal-438:

304:    <Compile Include="OutlookObjects\Folder\PercentageFormatterTests.cs" />
356:    <Compile Include="OutlookObjects\Folder\PercentageFormatterTests.cs" />

The same duplicate is present at the merge-base commit 003c5715 (at lines 302 and 354 there), confirming it predates that branch.

Logs / Screenshots

  • Attached minimal logs or screenshot
  • Snippet: the two <Compile Include> lines above, from grep -n "PercentageFormatterTests" UtilitiesCS.Test/UtilitiesCS.Test.csproj.

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

The build succeeds and tests run, so there is no functional defect today. The cost is a persistent warning in every build of the solution, which erodes the signal value of build output. It also carries a latent risk: the repository's type-check stage runs with /p:TreatWarningsAsErrors=true, and any future change that promotes CS2002 to error severity would break that protected gate.

Source

From: docs/features/potential/2026-08-08-utilitiescs-test-duplicate-percentageformattertests-compile-entry.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions