Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get assembly executable directory

I have two applications, e.g. App1 and App2. When running normally, App1 will show its assembly executable location. But when I call App1 from App2, it returns App2's startup location.

So, how do I get App1's startup path when I call App1 from App2?

like image 618
TrungNV Avatar asked Jun 28 '16 09:06

TrungNV


1 Answers

You can get the directory of the currently executing assembly with this:

string assemblyPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

GetExecutingAssembly() returns the currently executing assembly and Location is the full path or UNC path of that assembly.

Path.GetDirectoryName() returns the directory of a full path.


Note that the assembly's path is not the same as the startup path. The startup path is the working directory from which you started an application. And if your app does not change it's working directory, all apps started by the first app will have the same startup path.

like image 139
René Vogt Avatar answered Oct 02 '22 13:10

René Vogt