Skip to content

Remove EFCore.Design dependency from EFCore.Tools and EFCore.Tasks#37837

Merged
AndriySvyryd merged 2 commits intomainfrom
Issue37739
Mar 4, 2026
Merged

Remove EFCore.Design dependency from EFCore.Tools and EFCore.Tasks#37837
AndriySvyryd merged 2 commits intomainfrom
Issue37739

Conversation

@AndriySvyryd
Copy link
Member

Drop net472 TFM from the tools

Fixes #37739

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the implicit Microsoft.EntityFrameworkCore.Design dependency from the Tools/Tasks NuGet packages and drops the net472 toolchain path, simplifying packaging and removing .NET Framework execution support for the EF tooling entrypoints.

Changes:

  • Drop net472 targeting/output for the ef executable and remove the AppDomain-based executor path.
  • Update dotnet-ef and PMC tools to no longer attempt to run net472 ef.exe, instead rejecting .NETFramework startup projects.
  • Remove the Design “stub” project and stop packing lib/**/_._ placeholders from Tools/Tasks packages.

Reviewed changes

Copilot reviewed 10 out of 13 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/stubs/EFCore.Design.csproj Removes the stub project previously used to force a Design dependency.
src/ef/ef.csproj Stops multi-targeting net472; now targets only $(NetMinimum).
src/ef/Commands/ProjectCommandBase.cs Removes the AppDomainOperationExecutor creation path (was only for non-NET builds).
src/ef/AppDomainOperationExecutor.cs Deletes the .NET Framework AppDomain-based executor implementation.
src/dotnet-ef/dotnet-ef.csproj Stops packing net472 tool outputs into the dotnet-ef tool package.
src/dotnet-ef/RootCommand.cs Throws for .NETFramework startup projects and updates minimum .NETCoreApp version check.
src/dotnet-ef/Properties/Resources.resx Updates/waswo adds framework validation messages.
src/dotnet-ef/Properties/Resources.Designer.cs Regenerates resource accessors for new/updated messages.
src/EFCore.Tools/tools/EntityFrameworkCore.psm1 Removes net472 ef.exe dispatch logic; now rejects .NETFramework startup projects.
src/EFCore.Tools/EFCore.Tools.csproj Removes packing of lib/** and drops the Design stub reference; keeps ef as a build-only reference.
src/EFCore.Tasks/EFCore.Tasks.csproj Removes the Design project reference for non-.NETFramework TFMs and stops packing lib/**.
Files not reviewed (1)
  • src/dotnet-ef/Properties/Resources.Designer.cs: Language not supported

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 4, 2026 02:31
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 14 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • src/dotnet-ef/Properties/Resources.Designer.cs: Language not supported

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 4, 2026 04:03
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 14 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • src/dotnet-ef/Properties/Resources.Designer.cs: Language not supported
Comments suppressed due to low confidence (1)

src/ef/Commands/ProjectCommandBase.cs:88

  • After removing the AppDomain executor path, this method always uses ReflectionOperationExecutor, and the file-level conditional using directives (System.Runtime.Loader / System.Configuration) are now unused. With warnings-as-errors enabled, this will fail compilation (CS8019) for both the NET and non-NET TFMs. Remove the unused using(s) (and the now-unnecessary #if/#else block) or reintroduce usage where required.

            return new ReflectionOperationExecutor(
                Assembly!.Value()!,
                StartupAssembly!.Value(),
                _designAssembly!.Value(),
                Project!.Value(),

You can also share your feedback on Copilot code review. Take the survey.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@AndriySvyryd AndriySvyryd merged commit 1422c65 into main Mar 4, 2026
10 checks passed
@AndriySvyryd AndriySvyryd deleted the Issue37739 branch March 4, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove Microsoft.EntityFrameworkCore.Design dependency from Microsoft.EntityFrameworkCore.Tools

3 participants