2009-05-27 27 views
12

Im tratando de conocer la ruta de acceso de un dll ... varios sitios dicen que he de utilizar System.Reflection.Assembly.GetExecutingAssembly(). Ubicación PERO devuelve una ruta en C: \ Windows \ Microsoft.Net ... etc ... \ Archivo.dllObtener la ruta de ensamblaje C#

y quiero c: \ MyProyect \ MiWeb \ Bin \ Archivo.dll

ayuda?

+1

Es esto para un proyecto web? –

+0

¿Puede publicar las rutas de ensamblaje reales que obtiene y que desea? Es decir. las rutas completas, con los nombres reales de ensamblado. Además, publique el código para el método que intenta determinar la ruta de ensamblaje. –

Respuesta

21

Usted puede hacer esto utilizando:

string file = (new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).LocalPath; 
3

La ubicación del ensamblaje cambia en función de los redireccionamientos y las instantáneas. Intente utilizar la propiedad Codebase en su lugar.

1

Esa puede ser realmente la ruta que está usando el programa ... IIRC, Comienza buscando la llamada al método en el GAC antes de establecer el directorio de trabajo por defecto.

0

¿Estás seguro de que has hecho referencia al ensamblaje correcto en tu proyecto? Parece que está usando algún ensamblado "predeterminado" ya que está ubicado en la carpeta .NET.

Cuestiones relacionadas