Getting the absolute path of the executable, using C#?

Viewed 185135

Have a look at this pseudocode:

string exe_path = system.get_exe_path()
print "This executable is located in " + exe_path

If I build the above program and place the executable in C:/meow/, It would print out This executable is located in C:/meow/ each time it is run, regardless of the current working directory.

How could I easily accomplish this using C#?

9 Answers

The one that worked for me and isn't above was Process.GetCurrentProcess().MainModule.FileName.

If you are planning to build a console application to be used with Task Scheduler, I'd recommend using this approach:

var execDirectoryPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)?.Replace("file:\\", "");

This way, the path will adapt to whatever location you place your executable file in.

Related