首页 > 代码库 > C#应用程序获取项目路径的方法总结

C#应用程序获取项目路径的方法总结

一、非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;
结果:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\"
 
//应用程序的临时文件存储目录的物理路径
HttpRuntime.CodegenDie;
结果:"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\236b7339\fb0854f2"
 
//当前应用程序的 Machine.config 文件的物理路径
HttpRuntime.MachineConfigurationDirectory;
结果:"C:\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"