Remove EFCore.Design dependency from EFCore.Tools and EFCore.Tasks#37837
Remove EFCore.Design dependency from EFCore.Tools and EFCore.Tasks#37837AndriySvyryd merged 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
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
net472targeting/output for theefexecutable and remove theAppDomain-based executor path. - Update
dotnet-efand PMC tools to no longer attempt to runnet472ef.exe, instead rejecting.NETFrameworkstartup 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.
Drop net472 TFM from the tools Fixes #37739
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 conditionalusingdirectives (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 unusedusing(s) (and the now-unnecessary#if/#elseblock) 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>
Drop net472 TFM from the tools
Fixes #37739