startuppath library current application app c# directory executable

library - get directory c#



Obteniendo la ruta absoluta del ejecutable, usando C#? (7)

"Obtiene la ruta o la ubicación UNC del archivo cargado que contiene el manifiesto".

Ver: http://msdn.microsoft.com/en-us/library/system.reflection.assembly.location.aspx

Application.ResourceAssembly.Location

Eche un vistazo a este pseudocódigo:

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

Si construyo el programa anterior y coloco el ejecutable en C:/meow/ , se imprimirá This executable is located in C:/meow/ cada vez que se ejecuta, independientemente del directorio de trabajo actual.

¿Cómo podría lograr esto fácilmente usando C# ?


Por mi parte, utilicé, con una solicitud de formulario:

String Directory = System.Windows.Forms.Application.StartupPath;

toma la ruta de inicio de la aplicación.


Supongamos que tengo el archivo .config en la aplicación de la consola y ahora estoy obteniendo el siguiente.

Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName + "//YourFolderName//log4net.config";


MSDN tiene un artículo que dice que use System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase ; si necesita el directorio, use System.IO.Path.GetDirectoryName en ese resultado.

O bien, existe el Application.ExecutablePath más corto que "Obtiene la ruta del archivo ejecutable que inició la aplicación, incluido el nombre del ejecutable", lo que podría significar que es un poco menos confiable dependiendo de cómo se lanzó la aplicación.


AppDomain.CurrentDomain.BaseDirectory


using System.Reflection; string myExeDir = new FileInfo(Assembly.GetEntryAssembly().Location).Directory.ToString();


var dir = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

Salté por la mejor respuesta calificada y me encontré sin obtener lo que esperaba. Tuve que leer los comentarios para encontrar lo que estaba buscando.

Por ese motivo, estoy publicando la respuesta que figura en los comentarios para darle la exposición que merece.