ASP.Net Core 获得网站根目录

一、ASP.Net

public class HomeController : Controller
{
    public ActionResult Index()
    {
        var _path = Server.MapPath("~/");
        return Content(_path);
    }
}

二、ASP.Net Core

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;

namespace MyWebsite.Controllers
{
    public class HomeController : Controller
    {
        private readonly IHostingEnvironment _hostingEnvironment;
        public HomeController(IHostingEnvironment hostingEnvironment)
        {
            _hostingEnvironment = hostingEnvironment;
        }

        public ActionResult Index()
        {
            return Content($"WebRootPath = {_hostingEnvironment.WebRootPath}\n" +
                           $"ContentRootPath = {_hostingEnvironment.ContentRootPath}");
        }
    }
}

2.1 cshtml View 中使用

@using Microsoft.AspNetCore.Hosting
@inject IHostingEnvironment hostingEnvironment

WebRootPath = @hostingEnvironment.WebRootPath <br />
ContentRootPath = @hostingEnvironment.ContentRootPath