C#中的各种路径

    技术2025-08-26  19

    1.      System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName        获取模块的完整路径。2.      System.Environment.CurrentDirectory        获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3.      System.IO.Directory.GetCurrentDirectory()         获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:/www里,这个函数有可能返回C:/Documents and Settings/ZYB/,或者C:/Program Files/Adobe/,有时不一定返回什么东东,我也搞不懂了。4.     System.AppDomain.CurrentDomain.BaseDirectory        获取程序的基目录。5.     System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase        获取和设置包括该应用程序的目录的名称。6.     System.Windows.Forms.Application.StartupPath         获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"/"而已7.     System.Windows.Forms.Application.ExecutablePath        获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

    对于Windows程序 和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码  string path = "";           if (System.Environment.CurrentDirectory == appDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等           {                 path = AppDomain.CurrentDomain.BaseDirectory;             }           else           {                 path = AppDomain.CurrentDomain.BaseDirectory + "Bin/";             }这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.

    最新回复(0)