一、非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. CSS3 概览 更新时间 2014-0412-1317

    CSS3 概览 CSS3可以划分为:文字.边框模型.背景.动画等. CSS3颜色模块 CSS2.1的时候可以使用4种颜色方式,直接使用颜色名,如 redRGB值,如 rgb(0,90,255)RGB百 ...

  2. spark 启动时候报 Unable to load native-hadoop library for your platform 警告

    hadoop2.6.4 jdk1.8 spark2.0.1 方案1: 在spark的conf目录下,修改spark-env.sh文件加入LD_LIBRARY_PATH环境变量,值为hadoop的nat ...

  3. EXCEL 如何将多个工作表或工作簿合并到一个工作表

    在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计.对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了.如果只是合并少数几个 ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(47)-工作流设计-补充 系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表 ...

  5. delphi TOpenDialog

        TOpenDialog     procedure TForm1.Button1Click(Sender: TObject);begin  with TOpenDialog.Create(ni ...

  6. [转] webpack debug in webstorm

    先run build,然后用node server.js来做 WebStorm 11 adds support for debugging client-side apps built with We ...

  7. 设置ViewController 数据源无法改变view

    病情描述: viewController创建的时候勾选了xib,然后在显示的时候调用了如下语句: MTDetailDealViewController *detailController = [[MT ...

  8. Java Socket 学习笔记

    TCP协议的Socket编程 Socket:英文中的意思是插座.两个Java应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket.Java中所有关于网络编程的类都 ...

  9. ZOJ 3898 - Stean 积分

    有一个陶罐,陶罐是由函数Y=2+cosX,截取x=Z1到x=Z2段后,形成的旋转体,陶罐只有底x=Z1,没有盖子. 问陶罐能乘多少的水(体积),以及它的表面积 体积还是比较好求的,直接用旋转体体积公式 ...

  10. mysql隐藏文件一定要删除彻底

    之前部署自己的服务器机器的时候 机器的mysql密码是不知道的.彻底删除了软件之后还是解决不了问题,而且我把MYSQL在C盘的隐藏文件也给删除了.但是还是不行 最后我偶然发现一个方法去找隐藏问题.我之 ...