无法检索项目元数据.确保它是基于MSBuild的.NET Core项目

Kev*_*ing 13 mysql entity-framework ef-database-first asp.net-core-2.0 entity-framework-core-2.1

我一直在网上研究很多,但没有找到合适的解决方案.我试图通过使用数据库优先的脚手架方法来映射表模型,同时在应用命令时始终收到此错误,从而使用Entity Framework Core和MySQL

Unable to retrieve project metadata. Ensure it's an MSBuild-based .NET Core project. If you're using custom BaseIntermediateOutputPath or MSBuildProjectExtensionsPath values, Use the --msbuildprojectextensionspath option.
Run Code Online (Sandbox Code Playgroud)

这是我用来搭建数据库模型的命令:

Scaffold-DbContext "server=localhost;port=3306;user=root;password=1234;database=world" "Pomelo.EntityFrameworkCore.MySql" -OutputDir .\Models -f
Run Code Online (Sandbox Code Playgroud)

这是我的.Net Core项目设置:

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.1" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="2.0.1" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

Sim*_*ver 5

对于 EF 核心 3

我认为 EF Core 3 的 powershell 命令已经消失,所以我正在使用 dotnet ef dbcontext scaffold

使用此命令,如果您要转换Scaffold-DbContext脚本,项目名称(参数--project.csproj的末尾需要具有- 它不能只是无扩展名的名称。


小智 -5

将此参数添加到脚手架命令“--msbuildprojectextensionspath”的末尾。