我想在我的服务器上应用迁移,但出现错误,要求我指定项目,但当我指定项目时,又出现另一个错误。
但是他们在开发中工作。
这是第一个错误:
dotnet ef database update
<块引用>
未找到任何项目。更改当前工作目录或使用 --project 选项。
这里是第二个:
dotnet ef database update --project Devystri
<块引用>
/var/www/devystri/Devystri(1,1):错误 MSB4025:无法加载项目文件。根级别的数据无效。第 1 行,位置 1。
无法检索项目元数据。确保它是一个 SDK 风格的项目。如果您使用自定义 BaseIntermediateOutputPath 或 MSBuildProjectExtensionsPath 值,请使用 --msbuildprojectextensionspath 选项。
这里是我的迁移文件:
谢谢!
答案 0 :(得分:1)
解决方案是在 Program.cs 中添加:
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var db = scope.ServiceProvider.GetRequiredService<MyDbContext>();
try
{
db.Database.Migrate();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
host.Run();
}