Revisit tools architecture
Some ideas:
- Can dotnet-ef use the MSBuild object model?
- See https://github.com/NuGet/NuGet.Client/blob/fe240c4f457b30050e963dc19f916773ddf21d38/src/NuGet.Clients/NuGet.CommandLine/MsBuildUtility.cs
- Makes #18060 and https://github.com/dotnet/efcore/issues/23853 easier
- Consider shipping
EntityFrameworkCore.targetsinbuildTransitiveinstead of creating dynamically.
- Can ef.exe use AssemblyLoadContext instead of dotnet exec?
- Could make it a single-file executable
- Easier to use directly on assemblies (issue #16882)
- Easier to use without the SDK (on the server/in a container)
- Building block to enabling Xamarin/UWP projects (#7152)
- Could make it a single-file executable
- Use System.CommandLine
Note from triage: consider using System.CommandLine; see #6850 and #30487.
@ajcvickers System.Commandline has never been released though
It would only be a private dependency that ships as part of our tool. We wouldn't be the first to do this. 🙂
Related to https://github.com/dotnet/efcore/issues/14531
@AndriySvyryd any status update\is getting actively worked on? getting tracked internally?
ran into this wonderful bug today, luckily our EF projects are setup weird enough for --msbuildprojectextensionspath ../../../artifacts/obj/MyEfDataProject/ to work....
still annoying
@KLuuKer This issue is in the Backlog milestone. This means that it is not planned for the next release. We will re-assess the backlog following this release and consider this item at that time. However, keep in mind that there are many other high priority features with which it will be competing for resources, see Release planning process. Make sure to vote (👍) for this issue if it is important to you.