Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Aug 27, 2025

This PR documents the breaking change introduced in .NET 10 Preview 7 where dotnet tool install --local now creates a manifest by default when one doesn't exist, instead of failing with a "Cannot find a manifest file" error.

Changes Made

1. New Breaking Change Documentation

Created docs/core/compatibility/sdk/10.0/dotnet-tool-install-local-manifest.md that documents:

  • Previous behavior: Command failed with error when no manifest existed
  • New behavior: Automatically creates manifest using --create-manifest-if-needed logic by default
  • Type: Behavioral breaking change
  • Reason: Improves UX by making local tool installation work out-of-the-box
  • Recommended action: Users can opt out with --create-manifest-if-needed=false

2. Updated Tool Installation Documentation

Updated docs/core/tools/dotnet-tool-install.md to reflect the new default behavior:

  • Modified the Local tools section to clarify that manifests are created automatically starting in .NET 10
  • Enhanced the --create-manifest-if-needed option description to explain it's now enabled by default
  • Added information about how users can explicitly opt out of the new behavior

Background

This change was implemented by making createManifestIfNeeded enabled by default in the .NET SDK. The manifest creation follows the same rules as the existing --create-manifest-if-needed flag:

  1. Look for a directory with a .git subfolder
  2. Look for a directory with a .sln or .git file
  3. Fall back to current working directory

While this improves the user experience, it's a breaking change since users may have relied on the failure behavior to detect when they needed to create a manifest.

Fixes #48123.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.


Internal previews

📄 File 🔗 Preview link
docs/core/compatibility/10.0.md Breaking changes in .NET 10
docs/core/compatibility/sdk/10.0/dotnet-tool-install-local-manifest.md dotnet tool install --local creates manifest by default
docs/core/compatibility/toc.yml docs/core/compatibility/toc
docs/core/tools/dotnet-tool-install.md dotnet tool install

…ifest creation

Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
Co-authored-by: gewarren <24882762+gewarren@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] [Breaking change]: dotnet tool install --local works by default, by creating a manifest by default, utilizing --create-manifest-if-needed Document breaking change: dotnet tool install --local creates manifest by default in .NET 10 Aug 27, 2025
Copilot finished work on behalf of gewarren August 27, 2025 17:40
@Copilot Copilot AI requested a review from gewarren August 27, 2025 17:40
@gewarren gewarren marked this pull request as ready for review August 29, 2025 17:32
@gewarren gewarren requested review from adegeo and a team as code owners August 29, 2025 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Breaking change]: dotnet tool install --local works by default, by creating a manifest by default, utilizing --create-manifest-if-needed
2 participants