在 Program.cs Main 方法中如何访问 IHostingEnvironment 和 ContentRoot?

3
我需要在Program.cs -> Main方法中访问IHostingEnvironment.ContentRootPath。我尝试了一些从网上找到的答案,但没有帮助我解决问题。
我的代码看起来像下面这样;我可以在Main方法中声明一个类型为IHostingEnvironment的变量,但我不确定应该用什么初始化它。
public static void Main(string[] args)
{
    IHostingEnvironment env;
}
1个回答

0

你可以从主机对象中获取它:

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>();
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接