The difference between AppDomain.CurrentDomain.BaseDirectory and Application.startuppath in C #

Source: Internet
Author: User

Gets the base directory of the program.
System.AppDomain.CurrentDomain.BaseDirectory

Gets the full path of the module.
System.Diagnostics.Process.GetCurrentProcess (). Mainmodule.filename

Gets and sets the fully qualified directory of the current directory (the directory from which the process starts).
System.Environment.CurrentDirectory

Gets the current working directory of the application.
System.IO.Directory.GetCurrentDirectory ()

Gets and sets the name of the directory that contains the application.
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

Gets the path to the executable file that launched the application.
System.Windows.Forms.Application.StartupPath

Gets the path and file name of the executable file that launched the application
System.Windows.Forms.Application.ExecutablePath

Examples of differences between AppDomain.CurrentDomain.BaseDirectory and Application.startuppath in C # WinForm are as follows:

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

Description

1. AppDomain.CurrentDomain.BaseDirectory return result is: D:\mycode\

Application.startuppath returns the result: D:\mycode

2. Application.startuppath can only be used in WinForm forms, and AppDomain.CurrentDomain.BaseDirectory is available in both WinForm forms and in class library DLL files.

Source:http://blog.csdn.net/CYSONG168/archive/2010/07/26/5767533.aspx

Note the following:

String str1 =process.getcurrentprocess (). mainmodule.filename;//gets the file name of the EXE that is currently executing.
String str2=environment.currentdirectory;//gets and sets the fully qualified path to the current directory (that is, the directory from which the process starts).
Note by definition, if the process is started in the root directory of a local or network drive, the value of this property is the drive name followed by a trailing backslash (such as "C: \"). If the process is started in a subdirectory, the value of this property is the drive and subdirectory path (such as "C:\mySubDirectory") without trailing backslashes.
String Str3=directory.getcurrentdirectory ();//Gets the current working directory of the application.
String str4=appdomain.currentdomain.basedirectory;//gets the base directory that is used by the Assembly resolver to probe assemblies.
String str5=application.startuppath;//gets the path to the executable file that launched the application, not including the name of the executable file.
String str6=application.executablepath;//gets the path to the executable file that launched the application, including the name of the executable file.
String str7=appdomain.currentdomain.setupinformation.applicationbase;//Gets or sets the name of the directory that contains the application.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.