开发者社区> 技术小美> 正文

获取和设置 C# 应用程序目录

简介:
+关注继续查看
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

C# WinForm,用

  • Application.StartupPath: 获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称;
  • Application.ExecutablePath:获取启动了应用程序的可执行文件的路径,包括可执行文件的名称;
  • AppDomain.CurrentDomain.BaseDirectory:BaseDirectory 是一个 AppDomain 在何处查找 dll 加载而 ExecutablePath 将提供 (包括文件名) 的原始的可执行文件的路径;
  • System.Threading.Thread.GetDomain().BaseDirectory:获取当前应用程序所在目录的路径;
  • Environment.CurrentDirectory:获取和设置当前目录(即该进程从中启动的目录)的完全限定路径;
  • System.IO.Directory.GetCurrentDirectory:获取应用程序的当前工作目录;

C# Windows Service,用:

  • AppDomain.CurrentDomain.BaseDirectory 或 System.Threading.Thread.GetDomain().BaseDirectory;
  • Environment.CurrentDirectory 和 System.IO.Directory.GetCurrentDirectory 将得到 system32 目录的路径。

如果要使用 Application.StartupPath 或 Application.ExecutablePath,需要手动添加对 System.Windows.Forms.dll 的引用,并在程序开头用 using System.Windows.Forms 声明该引用。

ASP.NET,用:

  • Server.MapPath;
  • System.Windows.Forms.StartupPath;
  • Type.Assembly.Location;
  • Request.PhysicalApplicationPath 获取站点所在虚拟目录的物理路径,最后包含“\”。

方法 2 可以应用于控制台应用程序,WinForm 应用程序,Windows 服务,方法 1 可以应用于 Web 应用程序,方法 3 都可以应用。

但方法 3 是加载应用程序的路径。如果是 Web 应用程序,取得的路径是 C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files 目录。所以 Web 项目还是使用 Server.MapPath 吧。否则建议使用方法 2。如果自己新建类库。可以加入对 System.Windows.Forms.StartupPath 的引用后使用。



本文转自 netcorner 博客园博客,原文链接: http://www.cnblogs.com/netcorner/archive/2010/11/16/2911978.html  ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#获取应用程序所在路径的父级目录
C#获取应用程序所在路径的父级目录
9 0
windows服务器给某个文件目录增加最高权限方法
windows服务器给某个文件目录增加最高权限方法
167 0
QT软件开发: 获取下载、桌面、临时文件....等系统默认目录
QT软件开发: 获取下载、桌面、临时文件....等系统默认目录
131 0
压缩软件能否加上忽略某些目录的功能
压缩软件能否加上忽略某些目录的功能
68 0
C#应用程序配置文件
C#应用程序配置文件
61 0
Confluence 6 从外部目录中同步数据支持的目录类型
针对一些特定的用户目录类型,Confluence 在系统的数据库中保存了目录的缓存信息(用户和用户组),这样能够让系统更快速的访问用户和用户组数据。
902 0
+关注
技术小美
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载