AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别

原创 2015年07月08日 14:46:14

事由:

开始用vs2008.在vs2005下复制相关代码

 PicDir = Application.StartupPath & "\SmallPic"

2008中提示有误。 vs2008没法直接用Application.StartupPath 

找了一下才明白,原来Application对象是来源于:System.Windows.Forms ,以前vs2005都直接调用的。

以后最好用:System.AppDomain.CurrentDomain.BaseDirectory 不过要注意路径最后多了一个“ \” 

值得注意:   PicDir = IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SmallPic")

------

// 获取程序的基目录。

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文件中.

版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载。

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

// 获取程序的基目录。 System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径。 System.Diagnostics.Proces...
  • hjingtao
  • hjingtao
  • 2012年06月13日 09:32
  • 16682

C#中AppDomain.CurrentDomain.BaseDirectory及各种路径获取方法

// 获取程序的基目录。 System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径,包含文件名 System.Diagnosti...
  • bingle14
  • bingle14
  • 2016年10月25日 14:59
  • 1036

C# AppDomain.CurrentDomain.BaseDirectory是什么

AppDomain.CurrentDomain.BaseDirectory   是获取基目录,它由程序集冲突解决程序用来探测程序集。由显示的路径可以看出,它代表的是程序集所在的目录,它具有读取和写入的...
  • leonardo_dream
  • leonardo_dream
  • 2016年03月25日 13:56
  • 533

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

// 获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory// 获取模块的完整路径。System.Diagnostics.Process.GetC...
  • CYSONG168
  • CYSONG168
  • 2010年07月26日 22:46
  • 3375

转载获取路径C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别

// 获取程序的基目录。 System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径。 System.Diagnostics.Process....
  • singshinesong
  • singshinesong
  • 2016年10月26日 14:29
  • 206

AppDomain.CurrentDomain.BaseDirectory

// 获取程序的基目录。 System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径。 System.Diagnostics.Proces...
  • chenghaibing2008
  • chenghaibing2008
  • 2012年01月08日 18:49
  • 1880

C# AppDomain.CurrentDomain.BaseDirectory

AppDomain.CurrentDomain.BaseDirectory   它可以读取、也可以写入,而且是只用文件名,不用写文件的地址!下面我就把我写的例子贴上来: 首先我创建了一个 Windo...
  • hwt0101
  • hwt0101
  • 2011年09月14日 17:34
  • 1610

C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的用法

// 获取程序的基目录。 System.AppDomain.CurrentDomain.BaseDirectory // 获取启动了应用程序的可执行文件的路径。 System.Windows.F...
  • u011416660
  • u011416660
  • 2014年03月03日 11:39
  • 570

C# AppDomain.CurrentDomain.BaseDirectory

AppDomain.CurrentDomain.BaseDirectory 它可以读取、也可以写入,而且是只用文件名,不用写文件的地址!下面我就把我写的例子贴上来: 首先我创建了一个 Windows应...
  • readyou_hfut
  • readyou_hfut
  • 2010年10月18日 16:22
  • 237

AppDomain.CurrentDomain.SetupInformation.ApplicationBase

AppDomain.CurrentDomain.SetupInformation.ApplicationBase和Application.StartupPath 当将程序安装在"C:/Program ...
  • CYSONG168
  • CYSONG168
  • 2010年10月07日 08:35
  • 2299
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别
举报原因:
原因补充:

(最多只允许输入30个字)