使用环境应用设置.{环境}.json 与在 CreateHostBuilder 方法中硬编码文件名或数据库连接详细信息?



使用 ef core,可以使一切正常工作并运行 dotnet ef 迁移命令行工具,但程序.cs需要该方法

public static IHostBuilder CreateHostBuilder(string[] args)

唯一不理想的是将数据库设置存储在开发 json 文件中,然后必须在该方法中对开发 json 文件名进行硬编码,或者将数据库连接详细信息硬编码到该方法中。检查时

context.HostingEnvironment.IsDevelopment() //always returns false

它永远不会正确或设置不正确,因此我们不能使用上下文。HostingEnvironment.EnvironmentName 作为变量。CreateHostBuilder 方法中有没有办法加载正确的应用程序设置 json 文件并配置/设置用于运行 ef 迁移命令行工具与硬编码的环境?

是的,您有几个选项来设置托管环境。

您可以设置DOTNET_ENVIRONMENT环境变量的值。这适用于所有类型的应用程序。或者,您可以设置环境变量ASPNETCORE_ENVIRONMENT因为这会在调用.ConfigureWebHostDefaults时覆盖DOTNET_ENVIRONMENT

另一种选择是在项目的launchSetting.json中设置ASPNETCORE_ENVIRONMENT值。

虽然您可以为这些环境变量提供任何值,但框架提供了以下值:"开发"、"暂存"和"生产"。

您可以在在 Core 中使用多个环境文档中找到有关此内容的更多信息 ASP.NET。

相关内容

  • 没有找到相关文章