C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别

Posted 韩梦芫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别相关的知识,希望对你有一定的参考价值。

// 获取程序的基目录。
System.AppDomain.CurrentDomain.BaseDirectory

// 获取模块的完整路径。
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

// 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
System.Environment.CurrentDirectory

// 获取应用程序的当前工作目录。
System.IO.Directory.GetCurrentDirectory() 

// 获取和设置包括该应用程序的目录的名称。
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

// 获取启动了应用程序的可执行文件的路径。
System.Windows.Forms.Application.StartupPath 

// 获取启动了应用程序的可执行文件的路径及文件名
System.Windows.Forms.Application.ExecutablePath

 

 

 

C# WinForm中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别示例如下:

private void Frm_Server_Load(object sender, EventArgs e)
        {
            MessageBox.Show(AppDomain.CurrentDomain.BaseDirectory);
            MessageBox.Show(Application.StartupPath );
         }

说明:

1.   AppDomain.CurrentDomain.BaseDirectory 返回结果为: D:/mycode/

     Application.StartupPath 返回结果为: D:/mycode

2.  Application.StartupPath 只能用于WinForm窗体中,而AppDomain.CurrentDomain.BaseDirectory既可以用于WinForm窗体中,也可以用于类库DLL文件中.

 

以上是关于C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中使用 C# 接口或在 C# 中使用 C++ 接口

[C#]C#中yield return用法分析

[C#]C#中yield return用法分析

c# 在 c# 应用程序中保存配置数据的最佳方法是啥。 [复制]

在 C# 中定义 F# '**' 运算符

如何在 C# 的泛型中使用扩展