.net core跨平台的文件路径

时间:2023-03-09 18:33:12
.net core跨平台的文件路径

windows下路径为:"xxxx\\yyyy"

linux路径下为:"xxxx/yyyy"

用Path.Combine("xxxx","yyyy");进行合并

-------------------------------------------------

通过nuget引入包 System.Runtime.InteropServices

RuntimeInformation.IsOSPlatform(OSPlatform.Linux)//判断是否为Liunx

RuntimeInformation.IsOSPlatform(OSPlatform.Windows)/判断是否为Win

RuntimeInformation.IsOSPlatform(OSPlatform.OSX)/判断是否为OS
----------------------------------------

docker环境下用Environment.CurrentDirectory,不要用AppDomain.CurrentDomain.BaseDirectory

----------------------------------------------------

Web根目录和内容根目录

    public class HomeController : Controller
{
private readonly IHostingEnvironment _hostingEnvironment; public HomeController(IHostingEnvironment hostingEnvironment)
{
_hostingEnvironment = hostingEnvironment;
} public ActionResult Index()
{
string webRootPath = _hostingEnvironment.WebRootPath;
string contentRootPath = _hostingEnvironment.ContentRootPath; return Content(null);
}
}