In this article I will explain with an example, how to get WebRootPath and ContentRootPath in ASP.Net Core (.Net Core 8).
The WebRootPath and ContentRootPath are accessed using the interfaces IHostingEnvironment (.Net Core 2.0) and IWebHostEnvironment for .Net Core 8.0.
 
 

What are IHostingEnvironment and IWebHostEnvironment

The IHostingEnvironment is an interface for .Net Core 2.0 and IWebHostEnvironment has replaced IHostingEnvironment in .Net Core 8.0.
Both these interfaces need to be injected as dependency in the Controller and then later used throughout the Controller.
Both these interfaces have two properties.
1. WebRootPath – Path of the www folder.
2. ContentRootPath – Path of the root folder which contains all the Application files.
 
 

Namespaces

You will need to import the following namespace.
using Microsoft.AspNetCore.Mvc;
 
 

Using IHostingEnvironment

In the below example, the IHostingEnvironment is injected in the Controller and assigned to the private property Environment and later used to get the WebRootPath and ContentRootPath.
public class HomeController : Controller
{
    private IHostingEnvironment Environment;
 
    public HomeController(IHostingEnvironment _environment)
    {
        Environment = _environment;
    }
 
    public IActionResult Index()
    {
        string wwwPath = this.Environment.WebRootPath;
        string contentPath = this.Environment.ContentRootPath;
 
        return View();
    }
}
 
 

Using IWebHostEnvironment

In the below example, the IWebHostEnvironment is injected in the Controller and assigned to the private property Environment and later used to get the WebRootPath and ContentRootPath.
public class HomeController : Controller
{
    private IWebHostEnvironment Environment;
 
    public HomeController(IWebHostEnvironment _environment)
    {
        Environment = _environment;
    }
    public IActionResult Index()
    {
        string wwwPath = this.Environment.WebRootPath;
        string contentPath = this.Environment.ContentRootPath;
 
        return View();
    }
 
}
 
 

Screenshot

Get WebRootPath and ContentRootPath in ASP.Net Core
 
 

Downloads