C#获取根目录的方法总结
1.控制台应用程序
static void Main(string[] args) { //1.Environment.CurrentDirectory Console.WriteLine(Environment.CurrentDirectory); //2.AppDomain.CurrentDomain.BaseDirectory Console.WriteLine(AppDomain.CurrentDomain.BaseDirectory); //3.项目的目录 Console.WriteLine(Path.GetFullPath("../../")); Console.ReadKey(); }
运行结果:
2.winform应用程序
private void Form1_Load(object sender, EventArgs e) { //1.Environment.CurrentDirectory txtBox1.Text = Environment.CurrentDirectory; //2.Application.StartupPath txtBox2.Text = Application.StartupPath; //3.Directory.GetCurrentDirectory() txtBox3.Text = Directory.GetCurrentDirectory(); //4.AppDomain.CurrentDomain.BaseDirectory txtBox4.Text = AppDomain.CurrentDomain.BaseDirectory; }
运行结果:
3.MVC和WebForm项目
通过Server.MapPath("/")获取根目录
//WebForm <h1><%=Server.MapPath("/") %></h1> //Mvc <h1>@Server.MapPath("/")</h1>
4.WebApi项目
public class ValuesController : ApiController { //api/values public string Get() { return System.Web.Hosting.HostingEnvironment.MapPath("/"); } }
WebApi Core的根目录获取:HttpRuntime.AppDomainAppPath
补充:WebForm /Mvc /WebApi项目的根目录为配置文件Web.config所在的目录。