C#获取根目录实现方法汇总

您所在的位置:网站首页 getcurrentdirectory C#获取根目录实现方法汇总

C#获取根目录实现方法汇总

2023-07-03 03:38| 来源: 网络整理| 查看: 265

以下是C#获取不同类型项目根目录的实现方法汇总,以及在 .NET Core 中获取项目根目录的方法:

控制台应用程序 string rootPath = Environment.CurrentDirectory; string rootPath = AppDomain.CurrentDomain.BaseDirectory; string rootPath = Path.GetFullPath("../../"); WinForm应用程序 string rootPath = Application.StartupPath; string rootPath = Directory.GetCurrentDirectory(); string rootPath = AppDomain.CurrentDomain.BaseDirectory; MVC和WebForm项目 string rootPath = Server.MapPath("/"); Web API项目 string rootPath = System.Web.Hosting.HostingEnvironment.MapPath("/"); string rootPath = HttpRuntime.AppDomainAppPath;

在 .NET Core 中,可以使用以下方法获取项目的根目录:

使用 AppContext.BaseDirectory 属性

可以使用 AppContext.BaseDirectory 属性获取应用程序的根目录,例如:

string rootPath = AppContext.BaseDirectory; 使用 Directory.GetCurrentDirectory() 方法

可以使用 Directory.GetCurrentDirectory() 方法获取当前工作目录,例如:

string rootPath = Directory.GetCurrentDirectory();

需要注意的是,在某些情况下,当前工作目录可能不是应用程序的根目录。

使用 IWebHostEnvironment.ContentRootPath 属性(ASP.NET Core)

在 ASP.NET Core 应用程序中,可以使用 IWebHostEnvironment.ContentRootPath 属性获取应用程序的根目录,例如:

string rootPath = _hostEnvironment.ContentRootPath;

需要注意的是,要使用该方法,需要在应用程序中注入 IWebHostEnvironment 接口。

使用 AppContext.BaseDirectory 和 System.Reflection.Assembly.GetEntryAssembly().Location 属性

可以使用 AppContext.BaseDirectory 和 System.Reflection.Assembly.GetEntryAssembly().Location 属性获取应用程序的根目录,例如:

string rootPath = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);

需要注意的是,System.Reflection.Assembly.GetEntryAssembly() 方法在某些情况下可能返回 null,因此该方法的可靠性可能不如其他方法。

需要注意的是,以上方法获取的是应用程序的根目录,而不是项目的根目录。在某些情况下,应用程序的根目录可能与项目的根目录不同。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3