3

我创建了一个独立的应用程序dotnet

dotnet publish -c release

部署包包含 .net 核心运行时本身 - 因此如果有人想使用应用程序 - 不需要单独安装 .net 核心运行时。

但我的问题是......是否可以附加dotnet.exe到部署包?

Fe - 我的网络应用程序需要迁移的数据库:

dotnet ef database update

此命令不能从独立的应用程序运行(不能直接访问dotnet.exe)。

这种情况下的场景是什么?我应该如何处理?

4

1 回答 1

3

解决方案是像这样将它添加到您的 Startup.cs

public void Configure(
    IApplicationBuilder app,
    // ... various other parameters that you may have and below add the context that you want to run Migrations
    YourDbContext db1)
{
{
    // run the migrations before other code
    db1.Database.Migrate();
    // ...
}

PS。这有点奇怪,但是您将其作为额外参数添加到 Configure 方法签名中并且它可以工作(我猜它会自动实例化 dbContext 对象并调用该方法)。它对我有用。

于 2017-03-17T13:31:51.387 回答