Obtener ruta ejecutable en C#
-
Obtenga una ruta ejecutable con la clase
Assembly
enC#
-
Obtenga una ruta ejecutable con la clase
AppDomain
enC#
-
Obtenga una ruta ejecutable con la clase
Path
enC#
Este tutorial presentará los métodos para obtener la ruta ejecutable de nuestro código en C#.
Obtenga una ruta ejecutable con la clase Assembly
en C#
La clase Assembly
representa un ensamblado que es un bloque de construcción reutilizable de una aplicación CLR de Common Language Runtime en C#. La función Assembly.GetEntryAssembly()
se utiliza para obtener el ensamblado del código que se está ejecutando actualmente. Podemos obtener la ruta del código que se está ejecutando actualmente con la propiedad Assembly.GetEntryAssembly().Location
que devuelve la ruta ejecutable de la corriente en una variable de cadena. Vea el siguiente ejemplo de código.
using System;
using System.IO;
using System.Reflection;
namespace executable_path {
class Program {
static void Main(string[] args) {
string execPath = Assembly.GetEntryAssembly().Location;
Console.WriteLine(execPath);
}
}
}
Producción :
C:\Debug\destroy object.exe
En el código anterior, mostramos la ruta ejecutable de nuestro código actual con la clase Assembly
en C#. Almacenamos el valor devuelto por la propiedad Assembly.GetEntryAssembly().Location
dentro de la variable de cadena execPath
y se lo mostramos al usuario.
Obtenga una ruta ejecutable con la clase AppDomain
en C#
El método anterior nos da la ruta junto con el nombre del archivo ejecutable. Si queremos obtener el nombre del directorio sin el nombre del archivo ejecutable, podemos usar la clase AppDomain
en C#. La clase AppDomain
representa un dominio de aplicación. Un dominio de aplicación es un entorno aislado donde se ejecutan las aplicaciones. La propiedad AppDomain.CurrentDomain
obtiene el dominio de aplicación de la aplicación actual. Podemos obtener la ruta ejecutable con la propiedad AppDomain.CurrentDomain.BaseDirectory
, que devuelve la ruta del directorio que contiene el archivo ejecutable del archivo de código actual en una variable de cadena. El siguiente ejemplo de código nos muestra cómo podemos obtener la ruta ejecutable de nuestro código actual con la clase AppDomain
en C#.
using System;
using System.IO;
using System.Reflection;
namespace executable_path {
class Program {
static void Main(string[] args) {
string execPath = AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine(execPath);
}
}
}
Producción :
C:\Debug\
En el código anterior, mostramos la ruta ejecutable de nuestro código actual con la clase AppDomain
en C#. Almacenamos el valor devuelto por la propiedad AppDomain.CurrentDomain.BaseDirectory
dentro de la variable de cadena execPath
y se lo mostramos al usuario. Se recomienda este enfoque porque es el más fácil y requiere menos código que los otros dos enfoques.
Obtenga una ruta ejecutable con la clase Path
en C#
La clase Path
realiza varias operaciones en cadenas que contienen rutas de archivo en C#. La función Path.GetDirectoryName()
puede obtener información del directorio especificado por la ruta. Podemos usar la propiedad System.Reflection.Assembly.GetExecutingAssembly().CodeBase
como argumento de la función Path.GetDirectoryName()
para obtener el nombre del directorio que contiene el código actual. Vea el siguiente ejemplo de código.
using System;
using System.IO;
using System.Reflection;
namespace executable_path {
class Program {
static void Main(string[] args) {
string execPath =
Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
Console.WriteLine(execPath);
}
}
}
Producción :
file:\C:\Users\Maisam\source\repos\executable path\executable path\bin\Debug
En el código anterior, mostramos la ruta ejecutable de nuestro código actual con la clase Path
en C#. Almacenamos el valor devuelto por la función Path.GetDirectoryName()
dentro de la variable de cadena execPath
y se lo mostramos al usuario. Este enfoque devuelve la ruta con la cadena file:\
al comienzo de la ruta. Este enfoque no se recomienda porque requiere más código que los dos enfoques anteriores.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn