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.