The Wire · Showcase
DOTNET SHIPS MULTITHREADED MSBUILD MIGRATION, FIXES APP CRASHES IN MACIOS
By RepoJournal · Filed · About .NET
The SDK's GZipCompress task moves to multithreaded execution while macOS templates get AOT deduplication and a critical strip command fix that was crashing apps at launch.
The dotnet/sdk team completed a critical migration of the GZipCompress MSBuild task to multithreaded execution [1], fixing a dependency on shared process working directories that breaks under parallel builds. This follows the broader push to make all MSBuild tasks thread-safe and is part of fixing dotnet/msbuild#14166. Over in dotnet/macios, two production fixes landed: an AOT generic instantiation deduplication improvement [6] that activates when PrepareAssemblies=true, and more critically, a fix [7] for app crashes at launch when _ExportSymbolsExplicitly=false that was stripping symbols the runtime needs. Separately, dotnet/macios also resolved a race condition [8] where debugging environment variables were being read and unset on a background thread instead of main, creating timing-dependent behavior for managed apps. The dotnet/skills repo consolidated duplicate test framework documentation [9] and bumped the dotnet-test plugin to 0.2.0 [10], while also raising eval timeouts [11] for scenarios that were chronically hitting wall-clock limits. Codeflow updates continue flowing from source-build-assets [2], arcade [3], runtime [4], and sdk [5] into the main dotnet repo.
Action items
- → Review GZipCompress multithreading migration impact on your parallel builds dotnet/sdk [plan]
- → If shipping iOS/macOS apps with _ExportSymbolsExplicitly=false, apply the strip command fix immediately dotnet/macios [immediate]
- → Monitor codeflow PRs from runtime and sdk subscriptions for downstream integration dotnet/dotnet [monitor]
References
- [1] migrate GZipCompress ↗ dotnet/sdk
- [2] [main] Source code updates from dotnet/source-build-assets ↗ dotnet/dotnet
- [3] [main] Source code updates from dotnet/arcade ↗ dotnet/dotnet
- [4] [main] Source code updates from dotnet/runtime ↗ dotnet/dotnet
- [5] [main] Source code updates from dotnet/sdk ↗ dotnet/dotnet
- [6] [dotnet] Enable AOT generic instantiation deduplication when PrepareAssemblies=true ↗ dotnet/macios
- [7] [msbuild] Fix app crash at launch when _ExportSymbolsExplicitly=false. Fixes #25491 (#25494) dotnet/macios
- [8] [runtime] Read debugging environment variables on the main thread to avoid a race. (#25878) dotnet/macios
- [9] Consolidate dotnet-test-frameworks into test-analysis-extensions (#851) dotnet/skills
- [10] Bump dotnet-test to 0.2.0 (#852) dotnet/skills
- [11] dotnet-test: raise timeouts for chronic-timeout eval scenarios (#850) dotnet/skills
FAQ
- What changed in .NET on July 2, 2026?
- The SDK's GZipCompress task moves to multithreaded execution while macOS templates get AOT deduplication and a critical strip command fix that was crashing apps at launch.
- What should .NET teams do about it?
- Review GZipCompress multithreading migration impact on your parallel builds • If shipping iOS/macOS apps with _ExportSymbolsExplicitly=false, apply the strip command fix immediately • Monitor codeflow PRs from runtime and sdk subscriptions for downstream integration
- Which .NET repositories shipped on July 2, 2026?
- dotnet/sdk, dotnet/dotnet, dotnet/macios, dotnet/skills