[ProjectData] Reassess recoverable I/O handling after ownership transfer
- Dominant language
- C#
- Stars
- 20.7k
- Forks
- 4.3k
- PR merge metrics
- PR metrics pending
Description
## Summary
Reassess ProjectData recoverable-I/O helpers against Roslyn `IOUtilities` patterns.
## Background
ProjectData currently uses operation-specific exception filters and a local `IsRecoverableCacheReadException` helper. PR #84790 review suggested considering Roslyn `IOUtilities`:
https://github.com/dotnet/roslyn/pull/84790#discussion_r3732200129
## Proposed work
- Audit ProjectData filesystem catch filters.
- Determine whether `IOUtilities` can be used without an undesirable Workspaces dependency.
- Prefer the local helper when using `IOUtilities` would broaden catches, hide diagnostics, or add a heavyweight dependency.
- Keep specialized XML, JSON, cryptographic, and process exception policies operation-specific.
## Completion criteria
- Recoverable exception policy is consistent and documented.
- No broad catch masks programming errors or cancellation.
- The ProjectData dependency boundary remains intentional.
Contributor guide
Assessment
This issue has not been assessed yet.