新闻中心
C#怎么获取当前路径 C#获取程序运行目录方法
最常用且安全的方式是使用AppDomain.CurrentDomain.BaseDirectory获取exe所在目录;Environment.CurrentDirectory返回当前工作目录但可能变化;跨平台推荐AppContext.BaseDirectory或Assembly.GetExecutingAssembly().Location。

在C#中获取当前路径,关键要分清“当前工作目录”和“程序集所在目录”——这两者经常不同,选错会导致文件找不到。
获取程序运行的目录(即exe所在文件夹)
这是最常用的需求,比如读取同级配置文件或资源。推荐用 AppDomain.CurrentDomain.BaseDirectory 或 Assembly.GetExecutingAssembly().Location 配合 Path.GetDirectoryName:
- AppDomain.CurrentDomain.BaseDirectory:返回应用程序基目录(通常是exe所在文件夹,带末尾反斜杠)
- Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location):更明确地取当前程序集(.exe)的目录,不带斜杠,需自行处理路径拼接
获取当前工作目录(类似cmd里的cd路径)
用 Environment.CurrentDirectory。注意:它可能被用户、调试器或第三方库修改,不一定等于exe位置。启动时默认是exe目录,但运行中可能变化。
- 适合需要“相对当前命令行位置”的场景(少见)
- 若需确保稳定,建议启动时就用 Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory 锁定
获取可执行文件的完整路径(含文件名)
直接用 Application.ExecutablePath(WinForms)或 Process.GetCurrentProcess().MainModule.FileName(通用):
Glean
Glean是一个专为企业团队设计的AI搜索和知识发现工具
210
查看详情
- Application.ExecutablePath 简洁,但仅限WinForms项目
- Process.GetCurrentProcess().MainModule.FileName 全平台可用,但需引用 System.Diagnostics
跨平台兼容性提醒
.NET Core / .NET 5+ 推荐优先使用 AppContext.BaseDirectory(等价于 BaseDirectory)或 Assembly.GetExecutingAssembly().Location。避免硬编码 "..\..\" 这类相对路径,改用 Path.Combine 拼接:
- 例如:
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config.json") - 路径分隔符自动适配 Windows()和 Linux/macOS(/)
基本上就这些。多数情况下,AppDomain.CurrentDomain.BaseDirectory 是最安全、最直接的选择。
以
上就是C#怎么获取当前路径 C#获取程序运行目录方法的详细内容,更多请关注其它相关文章!
# seo基础优化教程视频
# 操作指南
# 是一个
# 这是
# 找不到
# 相关文章
# 这类
# 热门网站建设加盟
# 京山县网站做优化怎么样
# 启动时
# 工业区卫浴网站推广策划
# 武汉快照seo公司
# 廊坊推荐网站推广优化
# 福州市网站优化
# 门窗抖音seo
# 韶关网站建设行业现状
# 建材行业线上推广营销
# linux
# 最常用
# 如何将
# .n
# cos
# c#
# 配置文件
# win
# macos
# ai
# mac
# app
# 编码
# windows
# json
# js
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
解决移动端滚动问题的overflow属性应用指南
cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法
Yandex浏览器官方网页版入口 Yandex浏览器最新版官网
漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址
Golang如何处理RPC请求负载均衡_Golang RPC请求负载均衡策略与实践
使用 Pandas 高效处理 .dat 文件:数据清洗与数值计算实战
HuggingFaceEmbeddings中向量嵌入维度调整的限制与理解
腾讯QQ邮箱官方网站_QQ邮箱网页版在线登录
海量存储:机器视觉智能化的核心基石
抓大鹅无需下载版 抓大鹅秒玩版入口
UC浏览器网页版登录入口官网 电脑版网址入口
神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正
谷歌google账号怎么注册账号 谷歌账号注册官方流程
Python多线程中正确使用sigwait处理SIGALRM信号
微博网页版官方账号登录 微博网页版内容浏览使用指南
Composer中的^和~符号代表什么_精通Composer版本号语义化约束
PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符
搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具
Discord Slash 命令响应超时问题的异步解决方案
Golang如何优化内存分配与垃圾回收_Golang内存管理与GC优化实践
J*a递归快速排序中静态变量导致数据累积的陷阱与解决方案
AO3同人作品网入口 AO3搜索引擎官网永久地址
outlook中文官网入口地址 outlook官方中文版直达首页链接
html网页设计源代码怎么运行_运行html网页设计源代码步骤【指南】
虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作
163邮箱登录密码 163邮箱忘记密码找回
fishbowl官网免费版 fishbowl养鱼网站入口
Gmail邮箱申请注册直达_Gmail邮箱免费注册PC版官网入口2025
在FastAPI中利用lifespan与依赖注入高效管理Redis连接池
b站如何看历史记录_b站观看历史找回方法
yy漫画网页版官方入口_yy漫画官网登录页面链接
LINUX的perf命令入门_LINUX官方性能分析工具的使用与解读
Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法
CSS图片焦点样式实现教程:理解与应用tabindex属性
Lar*el 递归关系中排除指定分支的教程
jQuery Mask 插件中实现电话号码固定前导零的教程
Python自定义类排序:解决lambda键值访问TypeError的实践指南
QQ邮箱在线登录平台 QQ邮箱个人邮箱网页版入口
一加 14R 快充无反应_一加 14R 充电优化
怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】
AngularJS $http POST请求数据传递与Go后端接收实践
在WordPress中通过REST API获取BasicAuth保护的远程文章
J*aScript数据结构转换:将对象数组按类别分组
React项目中导航栏Logo自适应布局:避免裁剪与布局溢出
大麦的“候补”是什么意思 大麦候补购票规则【详解】
Win11怎么关闭快速启动_Win11彻底关机设置教程
整合Supabase认证与Django模型:跨模式迁移的解决方案
蛙漫移动版在线看 蛙漫手机浏览器直达入口
J*aScript中赋值与自增运算符的复杂交互与执行机制
PostgreSQL海量数据高效导入策略:Python与Django实践指南


2025-12-14
浏览次数:次
返回列表