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所在的目录。
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决