我已经用dotnet
创建了一个独立的应用程序:
dotnet publish -c release
部署软件包包含.NET Core Runtime本身 - 因此,如果有人想使用应用程序 - 不需要单独安装.NET Core Runtimes。
但是我的问题是...是否可以将dotnet.exe
附加到部署软件包?
f.e。 - 我的网络应用期望迁移数据库:
dotnet ef database update
无法从独立应用程序运行此命令(无需直接访问dotnet.exe
)。
在这种情况下有哪些方案?我应该如何处理?
解决方案是在
之类的startup.c上添加它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。这有点奇怪,但是您可以将其添加到配置方法签名中作为额外的参数,并且有效(我想它会自动实例化dbcontext对象并调用该方法)。它对我有用。