问题描述
我需要在IHostingEnvironment.ContentRootPath
方法内访问Program.cs -> Main
。我从互联网上获得了一些答案,但无济于事。
我的代码如下所示;我可以在类型IHostingEnvironment
的Main方法中声明一个变量,但是我不确定应该用什么对其进行初始化。
public static void Main(string[] args)
{
IHostingEnvironment env;
}
解决方法
您可以从宿主对象中获取它:
public static void Main(string[] args)
{
var builder = CreateHostBuilder(args);
var host = builder.Build();
var hostingEnvironment = host.Services.GetService(typeof(IHostingEnvironment));
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});