我创建了一个包含dotnet
的自包含应用程序:
dotnet publish -c release
部署包包含.net核心运行时本身 - 所以如果有人想使用app - 不需要单独安装.net核心运行时。
但我的问题是......是否可以将dotnet.exe
附加到部署包?
F.e。 - 我的网络应用程序预计已迁移的数据库:
dotnet ef database update
此命令无法从自包含的应用程序运行(无法直接访问dotnet.exe
)。
这种情况下的情景是什么?我应该怎么处理?
答案 0 :(得分:2)
解决方案是将它添加到您的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对象并调用方法)。它对我有用。