You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--noRestore flag does not skip MSBuildCracker restores #4527
The --noRestore CLI flag is parsed and stored in CrackerOptions.NoRestore, but MSBuildCrackerResolver.mkOptionsFromDesignTimeBuildAux hardcodes /restore in the dotnet msbuild arguments, so the flag has no effect on the MSBuildCracker code path.
This causes sequential per-project restores during the project cracking phase, adding ~20s to compilations for projects with many transitive references (~25 in our case), even when the user passes --noRestore.
Repro code
No F# repro needed — this is a CLI/infrastructure issue. Steps:
Have a project with many transitive ProjectReferences
dotnet restore the root project
dotnet fable --noRestore
Observe that Fable still runs dotnet msbuild ... /restore for each referenced project during the "Parsing" phase
This issue has been fixed. PR #4548 (contributed by @randrag and merged by @MangelMaxime on 2026-04-20) adds the --no-restore flag to the MSBuild invocation when --noRestore is passed to Fable, preventing the unwanted restores.
Activity
Fix --noRestore not skipping MSBuildCracker restores (fable-compiler#…
Fix --noRestore not skipping MSBuildCracker restores (fable-compiler#…
[All] Fix --noRestore not skipping MSBuildCracker restores (#4527) (#…
github-actions commentedon Apr 23, 2026
🤖 This is an automated response from Repo Assist.
This issue has been fixed. PR #4548 (contributed by
@randragand merged by@MangelMaximeon 2026-04-20) adds the--no-restoreflag to the MSBuild invocation when--noRestoreis passed to Fable, preventing the unwanted restores.This issue should be safe to close now. 🎉