using System;
using System.IO;
using System.Reflection;
namespace Articulos.Pregunta.P0420
{
public sealed class ObtencionUbicacionAssembly
{
public static void Main()
{
// Título aplicación consola:
Console.Title = "--- Obtención Ubicación Assembly en Ejecución ---";
Console.WriteLine ();
// Obtención de la ubicación en disco del assebmly
// que se encuentra en ejecución:
string ubicacion = Assembly.GetExecutingAssembly().Location;
// Presentación en pantalla del nombre del directorio
// en el que se está ejecutando el assembly:
Console.WriteLine ("Directorio de ejecución del assembly: {0}",
Path.GetDirectoryName(ubicacion)
);
// Espera a que el usuario presione la tecla
// Enter para finalizar completamente la aplicación:
Console.WriteLine ("\nPresione la tecla `Enter` para finalizar.");
Console.ReadLine ();
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5SZWZsZWN0aW9uOwoKbmFtZXNwYWNlIEFydGljdWxvcy5QcmVndW50YS5QMDQyMAp7CiAgICBwdWJsaWMgc2VhbGVkIGNsYXNzIE9idGVuY2lvblViaWNhY2lvbkFzc2VtYmx5CiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgICAgIHsKICAgICAgICAgICAgLy8gVMOtdHVsbyBhcGxpY2FjacOzbiBjb25zb2xhOgogICAgICAgICAgICBDb25zb2xlLlRpdGxlID0gIi0tLSBPYnRlbmNpw7NuIFViaWNhY2nDs24gQXNzZW1ibHkgZW4gRWplY3VjacOzbiAtLS0iOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSAoKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIE9idGVuY2nDs24gZGUgbGEgdWJpY2FjacOzbiBlbiBkaXNjbyBkZWwgYXNzZWJtbHkgCiAgICAgICAgICAgIC8vIHF1ZSBzZSBlbmN1ZW50cmEgZW4gZWplY3VjacOzbjoKICAgICAgICAgICAgc3RyaW5nIHViaWNhY2lvbiA9IEFzc2VtYmx5LkdldEV4ZWN1dGluZ0Fzc2VtYmx5KCkuTG9jYXRpb247CiAgICAgICAgICAgIAogICAgICAgICAgICAvLyBQcmVzZW50YWNpw7NuIGVuIHBhbnRhbGxhIGRlbCBub21icmUgZGVsIGRpcmVjdG9yaW8gCiAgICAgICAgICAgIC8vIGVuIGVsIHF1ZSBzZSBlc3TDoSBlamVjdXRhbmRvIGVsIGFzc2VtYmx5OgogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSAoIkRpcmVjdG9yaW8gZGUgZWplY3VjacOzbiBkZWwgYXNzZW1ibHk6IHswfSIsIAogICAgICAgICAgICAgICAgUGF0aC5HZXREaXJlY3RvcnlOYW1lKHViaWNhY2lvbikKICAgICAgICAgICAgKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIEVzcGVyYSBhIHF1ZSBlbCB1c3VhcmlvIHByZXNpb25lIGxhIHRlY2xhIAogICAgICAgICAgICAvLyBFbnRlciBwYXJhIGZpbmFsaXphciBjb21wbGV0YW1lbnRlIGxhIGFwbGljYWNpw7NuOgogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSAoIlxuUHJlc2lvbmUgbGEgdGVjbGEgYEVudGVyYCBwYXJhIGZpbmFsaXphci4iKTsKICAgICAgICAgICAgQ29uc29sZS5SZWFkTGluZSAoKTsKICAgICAgICB9CiAgICB9Cn0=