Obtener el directorio de ejecución de tu aplicación con C# (equivalencia a App.Path)

Hace años ya me enfrenté a este problema y en su día lo solucioné, pero hoy me he vuelto a enfrentar a él y no recordaba cómo era. Lo que sí recordaba era que había varias formas, pero sólo una de ellas era la idónea para mí, para lo que necesitaba hacer en ese momento. Pues bien, ahora me encuentro en  una situación similar a la de entonces y lo que necesito es obtener la ruta de mi aplicación, pero en un formato adecuado para crear/modificar/eliminar archivos allí, es decir, para usar la librería System.IO.File.


Una forma para conocer la ruta es la que más se encuentra si "googleas" un poco:


System.Reflection.Assembly.GetExecutingAssembly(). GetName().CodeBase


Pero te devuelve la ruta en este formato: 
file://C:/Users/...
Con lo cual no es útil para lo que yo lo necesito. Entonces si lo que quiero es obtener la ruta en este formato:
C:\Users\Admin\...
Tengo que hacerlo de esta forma:


Environment.CurrentDirectory


Y con esto ya tengo solucionado el problema. Es similar al App.Path de Visual Basic, fácil de recordar y útil para usar la ruta.




Espero que la próxima vez que tenga que buscar esto mire antes en mi blog :)

3 comentarios:

Unknown 13 de junio de 2012, 13:13  

Toma campeón, por si necesitas alguna cosa más:

http://www.yetanotherchris.me/home/2010/8/17/6-ways-to-get-the-current-directory-in-c.html

David Bernad "Berni" 13 de junio de 2012, 13:58  

Gracias máquina, ahora sí que está completito, completito :)

Unknown 14 de febrero de 2014, 7:44  

Excelente aporte, muchas gracias

Buscar este blog

Seguidores

Blogs amigos