c# windows-services current-dir

c# - Servicio de Windows-obtener el directorio actual



windows-services current-dir (5)

No utilice Directory.GetCurrentDirectory() . Tuve el mismo problema con la devolución de C: / Windows / System32 . Use esto en su lugar:

Path.GetDirectoryName(Application.ExecutablePath);

Tengo un servicio de Windows que debería buscar un archivo de configuración en su directorio actual.

Así que uso directory.getcurrentdirectiry() pero en lugar del directorio de servicios vuelvo

c:/windows/system32

¿Alguna idea de por qué y cómo debo obtener el directorio de servicios?


Prueba esto:

System.Reflection.Assembly.GetEntryAssembly().Location


Puede configurar el directorio actual al directorio desde el que se ejecuta su servicio al incluir esta línea en su código:

System.IO.Directory.SetCurrentDirectory(System.AppDomain.CurrentDomain.BaseDirectory);

La parte importante de esto es:

System.AppDomain.CurrentDomain.BaseDirectory

Eso devuelve la ruta al directorio desde el que se ejecuta el servicio.


obteniendo el directorio de la ruta completa:

var location = System.Reflection.Assembly.GetEntryAssembly().Location; var directoryPath = Path.GetDirectoryName(location);

un problema bastante tonto cuando se compara con escribir un servicio de Windows :)


string applicationDir = AppDomain.CurrentDomain.BaseDirectory;