- 此问题在此处已有答案**:
How to select different app.config for several build configurations(10个答案)
昨天关门了。
我正在开发.NET Core
(.NET 6
)WPF
应用程序,在检测开发环境(开发或生产)时遇到问题。
当我的WPF应用程序启动时,我创建了一个IHost
,以便使用依赖注入和所有其他. NET核心功能,如下所示:
public partial class App : Application
{
private readonly IHost host;
public App()
{
host = Host.CreateDefaultBuilder()
.UseContentRoot(CoreConstants.MaintenanceToolBinFolder)
.ConfigureServices((context, services) =>
{
var configuration = context.Configuration;
//...
})
.Build();
}
}
现在,在ASP.net Core
Web应用中,这将自动读取ASPNETCORE_ENVIRONMENT环境变量,并使用它来确定当前环境。然而,这里完全忽略了这一点,环境始终是"生产"。
在这种情况下,检测环境的正确方法是什么?我应该只手动读取变量并设置环境,还是有更"正确"的方法?
2条答案
按热度按时间g6ll5ycj1#
由于您使用的是通用主机(
Host.CreateDefaultBuilder()
),您应该能够使用DOTNET_ENVIRONMENT
变量。DOTNET_
的环境变量。roejwanj2#
我刚刚做了我的第一个“类ASP”WPF应用程序,它的工作就像一个魅力。
下面是我的代码,附带了依赖注入和Serilog日志记录器配置:
另外,请记住在“项目属性”窗口中或直接在launchSettings.json文件中配置启动设置:
注意:我使用的是.NET 7。