一、非Web程序

  //基目录,由程序集冲突解决程序用来探测程序集
1.AppDomain.CurrentDomain.BaseDirectory
 
  //当前工作目录的完全限定路径
2.Environment.CurrentDirectory
 
  //当前应用程序的 /bin 目录的路径
3.HttpRuntime.BinDirectory 

二、Web程序

 
假设Web项目根目录为:"D:\TestPart\WebDirectoryTest"。

1.HttpContext.Current

//返回与Web服务器上的指定虚拟路径相对应的物理文件路径

 HttpContext.Current.Server.MapPath("");
 

2.HttpRuntime

HttpRuntime是为当前应用程序提供一组Asp.Net运行时服务。其中与目录相关的属性有以下几项:
 
//包含承载在当前应用程序域中的应用程序的目录的虚拟路径。
HttpRuntime.AppDomainAppVirtualPath;
结果:"/"
 
//承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径
HttpRuntime.AppDomainAppPath;
结果:"D:\TestPart\WebDirectoryTest\WebDirectoryTest\"
 
//当前应用程序的 /bin 目录的路径
HttpRuntime.BinDirectory;
结果:"D:\TestPart\WebDirectoryTest\WebDirectoryTest\bin\"
 
//公共语言运行时可执行文件的物理路径
HttpRuntime.ClrInstallDirectory;
结果:"D:\Windows\Microsoft.NET\Framework\v2.0.50727\"
 
//应用程序的临时文件存储目录的物理路径
HttpRuntime.CodegenDie;
结果:"D:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\236b7339\fb0854f2"
 
//当前应用程序的 Machine.config 文件的物理路径
HttpRuntime.MachineConfigurationDirectory;
结果:"D:\Windows\Microsoft.NET\Framework\v2.0.50727\Config"
 

3.HostingEnvironment

//应用程序的不带尾部反斜杠 (/) 的根虚拟路径
HostingEnvironment.ApplicationVirtualPath;
结果:"/"
 
//磁盘上指向应用程序目录的物理路径
HostingEnvironment.ApplicationPhysicalPath;
结果:"D:\TestPart\WebDirectoryTest\WebDirectoryTest\"
// 摘要:
//     将虚拟路径映射到服务器上的物理路径。
// 参数:
//   virtualPath:
//     虚拟路径(绝对路径或相对路径)。
// 返回结果:
//     由 virtualPath 指定的服务器物理路径。
HostingEnvironment.MapPath("~/Admin");
结果:"D:\TestPart\WebDirectoryTest\WebDirectoryTest\Admin"

C#应用程序获取项目路径的方法总结的更多相关文章

  1. javaweb获取项目路径的方法

    在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,根目录是WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...

  2. jsp中的js中获取项目路径的方法

    在jsp中加上 <% String path = request.getContextPath(); String basePath = request.getScheme()+":/ ...

  3. C#获取相对路径的方法

    这八种C#获取相对路径的方法,包括获取和设置当前目录的完全限定路径.获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称等等内容. C#获取相对路径1. 获取和设置当前目录的完全限定路径.   ...

  4. PHP获取项目所有控制器方法名称

    PHP获取项目所有控制器方法名称 //获取模块下所有的控制器和方法写入到权限表 public function initperm() { $modules = array('admin'); //模块 ...

  5. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  6. SSH框架通过JFreeChart实现柱状图和获取项目路径

    获取项目路径:String url= ServletActionContext.getRequest().getRealPath("/upload"); 一.直接生成的图片输出到j ...

  7. Android中获取文件路径的方法总结及对照

    最近在写文件存贮,Android中获取文件路径的方法比较多,所以自己也很混乱.找了好几篇博客,发现了以下的路径归纳,记录一下,以备不时之需 Environment.getDataDirectory() ...

  8. katalon系列十四:执行Windows命令&获取项目路径

    Katalon Studio中也可以运行Windows命令执行一些系统操作. 根据官方文档,在test case中输入命令:cmd = 'del E:\\shot\\*.xlsx E:\\shot\\ ...

  9. 关于在JSP页面中为什么一定要用${pageContext.request.contextPath}来获取项目路径,而不能用${request.contextPath}?

    这里的疑问在于pageContext和request都是JSP中的内置对象之一,为什么不直接用${request.contextPath}来获取项目路径? 出现这种疑问,其实是将JSP的内置对象和EL ...

随机推荐

  1. 把mysql 中的字符gb2312 改为gbk的方法

    第一步:查找mysql的字符: mysql> show variables like '%char%';+--------------------------+----------------- ...

  2. Google Picasa

    本博文的主要内容有 .Google Picasa的下载 .Google Picasa的安装 .Google Picasa的使用 Google 的免费图片管理工具Picasa,数秒钟内就可找到并欣赏计算 ...

  3. c\c++复习基础要点16----枚举类型

    枚举类型: 语法格式: enum 枚举类型名 {变量值列表}; 例如: enum  Weekday{sun, mon, tue, wed, thu, fri, set}; 声明了枚举类型后,就可以定义 ...

  4. 324. Wiggle Sort II

    这个题真是做得我想打人了.我生起气来连自己都打. 一开始quick select没啥可说的.但是in place把老命拼了都没想出来.. 看网上的答案是3 partition,MAP式子一看就由衷地反 ...

  5. winform 解决界面闪动、提升加载速度 分类: WinForm 2015-02-03 16:34 161人阅读 评论(0) 收藏

    说明: 从一个技术交流群里获得,经验证效果不错. //作用 加快界面加载 protected override CreateParams CreateParams          {         ...

  6. 《Linux设备驱动开发详解(第2版)》配套视频登录51cto教育频道

    http://edu.51cto.com/course/course_id-379-page-1.html http://edu.51cto.com/course/course_id-379-page ...

  7. C# 打开PPT文件另存为PPTX

    /// <summary> /// rename PPT /// </summary> private static void renamePPT() { //add refe ...

  8. TOJ3744(Transportation Costs)

    Transportation Costs   Time Limit(Common/Java):2000MS/6000MS     Memory Limit:65536KByte Total Submi ...

  9. cs模式与bs模式

     关于CS(Client-Server)模式和BS(Browser-Server)模式的水很深,盆地自己也认为对此了解不够透彻,但作为手机客户端设计,如果不对CS.BS做一定程度的了解,是很容易出现一 ...

  10. [转] Linux抓包工具tcpdump详解

    http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...