我正在尝试使用EntityFrameworkCore@3.1.为了在这一点上做到这一点,我已经:-已安装Visual Studio 2019预览版-已安装.NET Core 3.1运行时-已安装.NET Core 3.1 SDK
现在我仍然无法运行命令dotnet ef migrations add xxx
。据说我必须更新网络工具。因此,我在管理员powershell中运行以下命令:
PS C:WINDOWSsystem32> dotnet tool update --global dotnet-ef
Tool 'dotnet-ef' was reinstalled with the latest stable version (version '3.0.0')
好的,不包括预览版本。因此,我尝试明确指定版本:
PS C:WINDOWSsystem32> dotnet tool update --global dotnet-ef --version="3.1.0-preview1.19506.2"
error NU1202: Package dotnet-ef 3.1.0-preview1.19506.2 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any. Package dotnet-ef 3.1.0-preview1.19506.2 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1)
Tool 'dotnet-ef' failed to update due to the following:
The tool package could not be restored.
Tool 'dotnet-ef' failed to install. This failure may have been caused by:
* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.
For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool
现在有人说.NET Core 3.1工具与.NET Core 3.1运行时不兼容。
然而,如果我做一个简单的版本检查:
PS C:WINDOWSsystem32> dotnet --version
3.1.100-preview1-014459
PS C:WINDOWSsystem32> dotnet ef --version
Entity Framework Core .NET Command-line Tools
3.0.0
我可以看到EntityFrameworkCore.Tools仍然是3.0.0版本,而不是3.1.0版本(我的项目中安装了哪个工具版本(。
我还是错过了什么,还是这是一个bug?
感谢@lars-haupt-hansen为我指出了这个bug,我跟踪到了PR,它显示它已合并到"aspnet:release/3.1"中。最新的3.1仍然是预览版(preview3([edit:它已退出预览版]。你可以在这里找到并下载最新的SDK。
要在Visual Studio项目中使用它,您必须使用
- 从上面的链接安装SDK
- 转到"工具">"选项">"环境">"预览功能"并启用"使用.NET Core SDK的预览">(3.1不再需要(
- 重新启动VS(3.1不再需要(
- 转到每个项目属性,然后可以选择目标框架
.NET Core 3.1
然后要通过命令行安装EF Core,请从项目目录中运行dotnet tool install --global dotnet-ef
。
dotnet tool install -g dotnet-ef --version 3.0.0-preview4.19216.3
dotnet tool install --global dotnet-ef --version 3.0.0-preview8.19405.11