工具:VS2017、ASP.NET Core 2、Entity Framework Core 2、ASP.NET Core JavaScript Services
我正在使用以下 BuildWebHost 方法:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseContentRoot(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName))
.UseStartup<Startup>()
.UseNLog()
.Build();
为了加载连接字符串,我在 ConfigureServices (startup.cs) 中有以下代码:
Action<DbContextOptionsBuilder> optionsAction = options =>
options.UseSqlServer(Configuration.GetConnectionString("RecipeDatabase"));
services.AddDbContext<RecipeContext>(optionsAction);
使用上述配置,应用程序在调试模式和 Windows 服务(发布后)下运行没有问题。
但是,如果我运行 add-migration,该工具将无法从 appsettings.json 加载连接字符串:
如果我这样评论以下行
//.UseContentRoot(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName))
add-migration 运行没有问题,但应用程序作为“Windows 服务”运行不是因为它找不到 appsettings.json 文件。
如何修改配置以便不再需要注释上述行?
谢谢你。
迈克尔