【问题标题】:How to access IHostingEnvironment, ContentRoot inside Program.cs Main method?如何在 Program.cs Main 方法中访问 IHostingEnvironment、ContentRoot?
【发布时间】:2020-12-27 02:15:45
【问题描述】:

我需要在Program.cs -> Main 方法中访问IHostingEnvironment.ContentRootPath。我从互联网上关注了一些答案,但没有任何帮助。

我的代码如下所示;我可以在 IHostingEnvironment 类型的 Main 方法中声明一个变量,但我不确定应该用什么初始化它。

public static void Main(string[] args)
{
    IHostingEnvironment env;
}

【问题讨论】:

    标签: asp.net-core asp.net-core-2.0 asp.net-core-2.1


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 1970-01-01
      • 2021-07-05
      • 2017-06-03
      相关资源
      最近更新 更多