You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取C#应用程序当前路径以加载本地数据库?

获取C#应用程序当前路径的几种实用方法

嗨,我来帮你梳理下C#里获取程序当前路径的常用方案,刚好能解决你加载本地数据库的需求~你提到的应该是Environment类相关的方法,不过还有几个更适合你场景的选项,咱们一个个说:

  • 方法1:Environment.CurrentDirectory
    这个方法返回的是当前进程的工作目录。注意哦——如果用户运行程序时手动切换了工作目录,这个路径可能和程序exe所在的目录不一样。但如果是程序默认启动的情况,它一般就是程序的运行目录。示例代码:

    string currentDir = Environment.CurrentDirectory;
    string dbPath = Path.Combine(currentDir, "your_database.db");
    
  • 方法2:Assembly.GetExecutingAssembly().Location
    这个是最适合你加载自带数据库的方法!它会返回当前执行代码所在程序集(也就是你的exe/dll文件)的完整路径(包含文件名),不受工作目录变化的影响。如果只需要目录,用Path.GetDirectoryName处理即可:

    using System.Reflection;
    
    string assemblyPath = Assembly.GetExecutingAssembly().Location;
    string assemblyDir = Path.GetDirectoryName(assemblyPath);
    string dbPath = Path.Combine(assemblyDir, "your_database.db");
    
  • 方法3:AppDomain.CurrentDomain.BaseDirectory
    这个返回应用程序域的基目录,通常也是程序exe所在的目录,对于WinForms/WPF这类桌面应用来说,和方法2的结果基本一致,用法更简洁:

    string baseDir = AppDomain.CurrentDomain.BaseDirectory;
    string dbPath = Path.Combine(baseDir, "your_database.db");
    

小提醒

不管用哪种方法,一定要用Path.Combine拼接路径!它会自动适配不同系统的路径分隔符(Windows是\,Linux是/),避免手动拼接出错。另外,记得把你的数据库文件在项目属性里设置为“复制到输出目录”→“如果较新则复制”,这样编译后文件会自动出现在程序目录里,才能被正确读取。

内容的提问来源于stack exchange,提问作者daniel.jbatiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:06:29