首页 > 代码库 > c# 获取项目的根目录

c# 获取项目的根目录

编写程序的时候,经常需要用的项目根目录。自己总结如下
 1、取得控制台应用程序的根目录方法
     方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径(eg:“C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE”。)
     方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集(eg:“F:\testProject\testProject\PosApp.Web\”。)
 2、取得Web应用程序的根目录方法
     //方法1、HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
     //方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回与Web服务器上的指定的虚拟路径相对的物理文件路径
    // 方法3、Request.ApplicationPath;//获取服务器上ASP.NET应用程序的虚拟应用程序根目录

 3、取得WinForm应用程序的根目录方法
     //1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
    //2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
     3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录 (eg:“C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE”。)
     4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集(eg:“F:\testProject\testProject\PosApp.Web\”。)
     5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称(eg:“F:\testProject\testProject\PosApp.Web\”。)

其中:以下两个方法可以获取执行文件名称
     1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
     2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称
 

参考:

 http://www.cnblogs.com/85538649/archive/2011/08/18/RootDirectory.html

http://wenqingluomo.blog.163.com/blog/static/791717402010101931946397/