C# 获取当前应用程序集路径

当前应用程序路径

一个WinForm程序,项目文件存放于D:\Projects\Demo,编译后的文件位于
D:\Projects\Demo\bin\Debug,最后的结果如下:

代码 结果
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName D:\Projects\Demo\bin\Debug\Demo.exe
System.Environment.CurrentDirectory D:\Projects\Demo\bin\Debug
System.IO.Directory.GetCurrentDirectory() D:\Projects\Demo\bin\Debug
System.AppDomain.CurrentDomain.BaseDirectory D:\Projects\Demo\bin\Debug\
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase D:\Projects\Demo\bin\Debug\
System.Windows.Forms.Application.StartupPath D:\Projects\Demo\bin\Debug
System.Windows.Forms.Application.ExecutablePath D:\Projects\Demo\bin\Debug\Demo.EXE

这里需要注意,在一次偶然的测试中,通过添加注册表启动记录实现了开机运行该程序,结果路径输出有变化

System.Environment.CurrentDirectorySystem.IO.Directory.GetCurrentDirectory() 的返回值变成了 C:\Windows\system32

PS: 添加注册表记录实现开机自启的方法

Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run", "随便什么名字", System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);

当前系统环境路径

代码 结果
System.Environment.GetEnvironmentVariable("windir") C:\WINDOWS
System.Environment.GetEnvironmentVariable("INCLUDE") C:\Program Files\Microsoft Visual Studio.NET 2005\SDK\v2.0\include\
System.Environment.GetEnvironmentVariable("TMP") C:\DOCUME1\ADMINI1\LOCALS~1\Temp
System.Environment.GetEnvironmentVariable("TEMP") C:\DOCUME1\ADMINI1\LOCALS~1\Temp
System.Environment.GetEnvironmentVariable("Path") C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\
posted @   傅小灰  阅读(1540)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示