关于c#:78c-各种路径AppDomainCurrentDomainBaseDirectory等

38次阅读

共计 1422 个字符,预计需要花费 4 分钟才能阅读完成。

控制台程序:

static void Main(string[] args)
        {
            // 获取程序的基目录。string p1 = System.AppDomain.CurrentDomain.BaseDirectory;
            Console.WriteLine("p1=" + p1);
            // 获取模块的残缺门路,蕴含文件名
            string p2 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
            Console.WriteLine("p2=" + p2);

            // 获取和设置当前目录 (该过程从中启动的目录) 的齐全限定目录。string p3 = System.Environment.CurrentDirectory;
            Console.WriteLine("p3=" + p3);

            // 获取应用程序的当前工作目录,留神工作目录是能够扭转的,而不限定在程序所在目录。string p4 = System.IO.Directory.GetCurrentDirectory();
            Console.WriteLine("p4=" + p4);

            // 获取和设置包含该应用程序的目录的名称。string p5 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
            Console.WriteLine("p5=" + p5);

            // 获取启动了应用程序的可执行文件的门路。/*string p6 = System.Windows.Forms.Application.StartupPath;
            Console.WriteLine("p6=" + p6);

            // 获取启动了应用程序的可执行文件的门路及文件名
            string p7 = System.Windows.Forms.Application.ExecutablePath;
            Console.WriteLine("p7=" + p7);*/
            Console.ReadLine();}

后果为:

p1=D:\csharp\ConsoleApp5\bin\Debug\
p2=D:\csharp\ConsoleApp5\bin\Debug\ConsoleApp5.exe
p3=D:\csharp\ConsoleApp5\bin\Debug
p4=D:\csharp\ConsoleApp5\bin\Debug
p5=D:\csharp\ConsoleApp5\bin\Debug\

窗体控制程序:
p6、p7 正文去掉:
后果为:

p1=D:\csharp\WinMyTest1\bin\Debug\
p2=D:\csharp\WinMyTest1\bin\Debug\WinMyTest1.exe
p3=D:\csharp\WinMyTest1\bin\Debug
p4=D:\csharp\WinMyTest1\bin\Debug
p5=D:\csharp\WinMyTest1\bin\Debug\
p6=D:\csharp\WinMyTest1\bin\Debug
p7=D:\csharp\WinMyTest1\bin\Debug\WinMyTest1.exe

额定阐明:
装置为服务时:System.Environment.CurrentDirectory,这个取的 windows/system32 的门路。
可换为这个:AppDomain.CurrentDomain.BaseDirectory

正文完
 0