.net 无法检索项目元数据,请确保它是SDK样式的项目

slmsl1lt  于 2022-11-19  发布在  .NET
关注(0)|答案(2)|浏览(234)

我有一个由4个项目组成的解决方案,如屏幕截图x1c 0d1x所示
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:错误MSB 1009:项目文件不存在。开关:/用户/mac/文档/项目/文件夹/子文件夹/子子文件夹/NewKyc.csproj
还有这个
无法撷取项目中继数据。请确定它是SDK样式的项目。如果您使用自订BaseIntermediateOutputPath或MSBuildProjectExtensionsPath值,请使用--msbuildprojectextensionspath选项。
我哪里搞错了?
它是一个升级到.NET 6的.NET Core 3.1项目

643ylb08

643ylb081#

由于您已从Net Core 3.1升级到6.0,因此您的dotnet-ef CLI工具可能已过期,您可以根据docs使用以下命令对其进行全局更新:
dotnet工具更新-g dotnet-ef
或在本地:
dotnet工具更新--本地dotnet-ef

yfjy0ee7

yfjy0ee72#

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

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

试试看

相关问题