繁体   English   中英

无法检索项目元数据。 确保它是一个 SDK 风格的项目

[英]Unable to retrieve project metadata. Ensure it's an SDK-style project

我有一个由 4 个项目组成的解决方案,如屏幕截图所示我的解决方案布局的屏幕截图

DbContext 在 NewKyc.Data 项目中。 启动项目是NewKyc

Startup.cs 的 ConfigureServices 方法包含以下块

services.AddDbContext<AppDbContext>(
           dbContextOptions => dbContextOptions
              .UseMySql(Configuration["ConnectionStrings:MySQLConnection"], 
              new MySqlServerVersion(new Version(mysql_version[0], mysql_version[1], mysql_version[2])), b=>b.MigrationsAssembly("NewKyc")

要添加迁移,我写了以下内容

dotnet ef migrations add EntityRelationshipsReview --startup-project "../NewKyc.csproj" --context AppDbContext --verbose

我收到以下消息

MSBUILD:错误 MSB1009:项目文件不存在。 开关:/Users/mac/Documents/Projects/folder/subfolder/subsubfolder/NewKyc.csproj

和这个

无法检索项目元数据。 确保它是一个 SDK 风格的项目。 如果您使用的是自定义 BaseIntermediateOutputPath 或 MSBuildProjectExtensionsPath 值,请使用 --msbuildprojectextensionspath 选项。

我哪里弄错了?

是.NET Core 3.1项目升级到.NET 6

由于您已从 Net Core 3.1 升级到 6.0,因此您的 do.net-ef CLI 工具可能已过时,您可以根据文档使用以下命令在全球范围内更新它:

do.net 工具更新-g do.net-ef

或本地:

do.net 工具更新 --local do.net-ef

确保包含文件夹的完整路径,如下所示:

dotnet-ef migrations add Testing -s C:\\NewKYCSolution\\NewKYC -c ApplicationDbContext -p C:\\NewKYCSolution\\NewKYC.Data --no-build

试试看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM