Skip to content

[msbuild] Avoid concurrent Errors.designer.cs generation. Fixes #26246 - #26258

Open
rolfbjarne wants to merge 2 commits into
mainfrom
dev/rolf/dev-rolf-fix-errors-designer-race
Open

[msbuild] Avoid concurrent Errors.designer.cs generation. Fixes #26246#26258
rolfbjarne wants to merge 2 commits into
mainfrom
dev/rolf/dev-rolf-fix-errors-designer-race

Conversation

@rolfbjarne

Copy link
Copy Markdown
Member

Generate Xamarin.MacDev.Tasks' strongly typed resource source in each target framework's intermediate output directory.

This prevents parallel builds from writing to the same source-tree Errors.designer.cs file and intermittently corrupting it.

Fixes #26246

🤖 Pull request created by Copilot

rolfbjarne and others added 2 commits July 23, 2026 13:36
Generate the strongly typed resource source in each target framework's intermediate output directory so parallel builds never write the same file.\n\nFixes #26246\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>\nCopilot-Session: 11fcec85-a3d3-45d6-a14f-78e6fd6976e0
Fix the grammar in the updated explanation of the generated resource isolation.

Fixes #26246

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 11fcec85-a3d3-45d6-a14f-78e6fd6976e0
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the MSBuild project for Xamarin.MacDev.Tasks to stop generating Errors.designer.cs into the source tree and instead emit it into each target framework’s intermediate output directory, preventing intermittent file corruption when builds run in parallel (as seen in #26246).

Changes:

  • Generate the strongly-typed resource source (Errors.designer.cs) under $(IntermediateOutputPath) instead of the project directory.
  • Clarify the inline project comment explaining why the file is generated separately and why per-TFM intermediate output matters.
  • Minor comment text cleanup/typo fix (“build” → “built”).

@rolfbjarne
rolfbjarne marked this pull request as ready for review July 24, 2026 06:14
@rolfbjarne
rolfbjarne requested a review from mauroa as a code owner July 24, 2026 06:14
@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: fcf6d7403788c81d92a9c31866dcc5bb819bf3a0 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🚀 [CI Build #fcf6d74] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 203 tests passed 🎉

Tests counts

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 4 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 15 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 15 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 15 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 18 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 19 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 19 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ windows: All 3 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Ventura (13): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Tahoe (26): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: fcf6d7403788c81d92a9c31866dcc5bb819bf3a0 [PR build]

@rolfbjarne rolfbjarne added the ready-to-review This PR is ready to review/merge. label Jul 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

copilot ready-to-review This PR is ready to review/merge.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] API-diff builds intermittently corrupt generated Errors.designer.cs

5 participants