首页 > 解决方案 > 使用 WebRootPath 创建 HostingEnvironment 实例

问题描述

我正在从迁移netcore2.1netcore3.1. 我有一个服务,我需要创建一个 IServiceProvider 并注入IWebHostEnvironment(我曾经IHostingEnvironment在 netcore2.1 中注入)。用于创建新Microsoft.Extensions.Hosting.Internal.HostingEnvironment实例但该类不再包含的代码WebRootPath。我获取了 git repo 并试图寻找 IWebHostEnvironment 的实现,但似乎唯一的实现是 aspnetcore 内部的,没有用。

是否有可能以某种方式创建 IWebHostEnvironment 的实例?

丹尼尔

标签: c#asp.net-core.net-core-3.1

解决方案


嗨,您可以在 Core 3.1 中使用访问 WebRoot 路径

    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Mvc;
    public class HomeController : Controller
    {
          private readonly IWebHostEnvironment _hostingEnv;

           public HomeController(IWebHostEnvironment hostingEnv)
           {
             _hostingEnv = hostingEnv;
           }

          private Void GetWebRoot()
          {
             var webRootPath = _hostingEnv.WebRootPath;
          }
     }

你可以试试这个,如果它有帮助,请点赞


推荐阅读