Skip to content

Fix MT project-cache file access compatibility - #14871

Draft
JanProvaznik wants to merge 1 commit into
mainfrom
janprovaznik-fix-mt-project-cache-compatibility
Draft

Fix MT project-cache file access compatibility#14871
JanProvaznik wants to merge 1 commit into
mainfrom
janprovaznik-fix-mt-project-cache-compatibility

Conversation

@JanProvaznik

Copy link
Copy Markdown
Member

Fixes #14824
Fixes #14825
Fixes #14826

Summary

  • Preserve FileAccessData values across TaskHost deserialization without changing the existing payload format.
  • Propagate ReportFileAccesses to TaskHost with packet-version compatibility, gate collection and replay, and keep reported accesses isolated per task execution context.
  • Reject -mt together with -reportFileAccesses using actionable MSB1073; programmatic BuildManager callers receive the equivalent validation.
  • Document why Detours attribution requires process-isolated worker nodes.

Compatibility

Project-cache lookup/materialization remains compatible with MT. Only Detours-based cache population is rejected because concurrent projects in one process cannot be attributed correctly. CLR2, CLR4, and negotiated .NET TaskHost packet formats retain compatible behavior.

Validation

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 85b185e7-08c7-4a95-aa04-d674ec05a321
@JanProvaznik

Copy link
Copy Markdown
Member Author

/review

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

Labels

None yet

Projects

None yet

1 participant