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

事由:

开始用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.zuiniusn.com原创文章,未经博主允许不得转载。

时间: 2024-10-10 11:01:48

AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别的相关文章

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

// 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录.System.Environment.CurrentDirectory // 获取应用程序的当前工作目录.System.IO.Directory.GetCurre

AppDomain.CurrentDomain.BaseDirectory是什么

AppDomain.CurrentDomain.BaseDirectory 是获取基目录,它由程序集冲突解决程序用来探测程序集.由显示的路径可以看出,它代表的是程序集所在的目录,它具有读取和写入的属性. // 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目

【C#遗补】获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别

原文:[C#遗补]获取应用程序路径之System.IO.Directory.GetCurrentDirectory和System.Windows.Forms.Application.StartupPath的区别 .Net Framework中,System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录 如果使用此方法获得应用程序所在的目录,应该注意:System.IO.Directory.GetCurrentDirectory()方法获得的

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

// 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径,包含文件名System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录.System.Environment.CurrentDirectory // 获取应用程序的当前工作目录,注意工作目录是可以改变的,而不限定在程序所在目

Directory.GetCurrentDirectory和Application.StartupPath的区别

System.IO.Directory.GetCurrentDirectory()方法用于获得应用程序当前工作目录.System.Windows.Forms.Application.StartupPath 获得应用程序的可执行文件的路径,不含文件名 StartupPath 可执行文件固定就不会变,可用于定位GetCurrentDirectory 不一定是可执行文件所在目录,因启动的位置而变 如有两个程序 C:/A/a.exe 和 C:/B/b.exe当在 a.exe 中启动 b.exe,Syst

C#获取当前程序运行路径的方法集合 Application.StartupPath和System.Environment.CurrentDirectory的区别

//获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名).string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

【CITE】当类库项目中无法使用Application.StartupPath的时侯 (注:主要是在进行反射读取文件的时候!!)

http://jcserver.blog.163.com/blog/static/24044859200851582354135/ 通常我们WinForm编程时,要获取程序当 前运行的文件夹路径会用Application.StartupPath ,但是Application.StartupPath在编写类库项目时却无法 使用,因为我们根本无法用using System.Windows.Forms;来引入Application.StartupPath 的命名空间,这个时侯我们要用AppDomain

当类库项目中无法使用Application.StartupPath

通常我们WinForm编程时,要获取程序当前运行的文件夹路径会用Application.StartupPath ,但是Application.StartupPath在编写类库项目时却无法使用,因为我们根本无法用using System.Windows.Forms;来引入Application.StartupPath 的命名空间,这个时侯我们要用AppDomain.CurrentDomain.BaseDirectory. private static string fullPathFileName

Application.StartupPath同System.Environment.CurrentDirectory区别

System.Windows.Forms.Application.StartupPath:获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. System.Environment.CurrentDirectory:获取或设置当前工作目录的完全限定路径. 备注说明:假设你在桌面上打开了一个应用程序,在运行的过程使用OpenFileDialog()打开了E盘ABC文件夹下的某一个文件,此时CurrentDirectory会变成为E:\ABC,而StartupPath则不会改变,即启动路径