Add comprehensive documentation for offline build troubleshooting and Microsoft.Build.NoTargets SDK resolution #5319
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When building .NET 10.0.0-preview.6 and later in offline environments (such as sandboxed builds), users encounter SDK resolution failures that prevent
prep-source-build.shfrom executing successfully:The root cause is that
init-detect-binaries.projrequires theMicrosoft.Build.NoTargetsSDK to execute, but offline builds cannot download it from online NuGet feeds. While the binary detection tooling itself is configured to use offline restore sources via--with-packages, the project file needs to resolve its SDK dependencies before it can execute.This PR provides comprehensive documentation to address the issue:
New Documentation
troubleshooting-offline-builds.md- Complete troubleshooting guide covering the problem, root cause, and practical workaroundsvmr-sdk-configuration-guidance.md- Technical implementation guidance for VMR developers to implement the permanent solutionImmediate Workarounds Documented
SourceBuildReferencePackagessubdirectory to NuGet.config-p:SkipArcadeSdkImport=truewhen binary detection isn't criticalDocumentation Updates
README.mdto reference the new troubleshooting guidebootstrapping-guidelines.mdandhow-to-stage2-build.mdwith offline scenario guidanceImplementation Roadmap
The documentation provides clear technical guidance for implementing the permanent solution in the VMR repository, which involves factoring SDK configuration logic from
build.shandinit-source-only.projto be shared withprep-source-build.shfor offline builds.This ensures users have immediate solutions while providing a clear path for the VMR team to implement the complete fix.
Fixes #5286.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/repos/dotnet/source-build/issues/5286curl -s REDACTED(http block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.