• Domingo 22 de Diciembre de 2024, 18:07

Autor Tema:  Load Dll En C#  (Leído 1811 veces)

IvanPenuelas

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Load Dll En C#
« en: Martes 6 de Marzo de 2007, 01:27 »
0
Hola tengo una duda acerca de como se cargan las DLL para ser usadas en C#.
Mi problema es que tengo una aplicación que utiliza una DLL creada en C#, mi aplicación esta escrita en C# también, y quiero mover la DLL del folder de mi proyecto, que de alguna manera al compilar mi proyecto este conozca el Path de mi DLL.

1. Vi la opción de GAC, sin embargo mi DLL va a estar en constante cambio, y estarla registrando y borrando se me hace ineficiente.
2. La otra opcion que vi fue con un App.config, sin embargo esta crea un archivo Aplicacion.exe.config y necesito evitar esto porque ya cuento con un App.config de diferente nombre del proyecto, porque es utilizado para otras cosas en diferentes proyectos.
3. Otra opcion que observe, fue por medio de Código con Assembly load("Nombre.DLL")
pero como ya esta echo todo mi código y es bastante, con esta opción cambiaria la manera de llamar los namespaces.

Mi pregunta es si es posible decirle al compilador o al .Net Framework donde mas buscar las referencias de las DLL.

VS2005 windows Xp Framework v2

Gracias por adelantado

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Load Dll En C#
« Respuesta #1 en: Martes 6 de Marzo de 2007, 03:49 »
0
Si es posible decirle donde buscarlas , dejarla en el gac tambien es una opcion pero no siempre la mas recomendable...


para cuando el programa ya esta instalado, por defecto el runtime busca la dll primero en el folder de la aplicación e incluso uno o dos niveles de folder mas abajo... o en el system32.


En el cuadro de agregar referencias le das la pestaña Browse y desde alli puedes buscarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

IvanPenuelas

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Load Dll En C#
« Respuesta #2 en: Martes 6 de Marzo de 2007, 19:13 »
0
Juan, probe la solución que me propones sin emabargo sigue sin funcionar, ahorita estoy haciendo uan simple prueba, en VS2005 creo una DLL que solo tiene un método que despliega Hola Mundo, y esa DLL la guardo en un folder en raiz.
Despues hago una aplicacion de consola, y añado la referencia desde el path de raiz donde esta, y me la detecta bien, sin embargo la copia a mi directorio de trabajo del proyecto, lo que yo necesito es copiar el EXE generado, simplemente el EXE y ponerlo por asi decirlo en el Escritorio, pero cuando le doy correr no Funciona me dice que no encuentra la DLL, la puse en System32 y nada la registre con regis32 algo por el estilo y tampoco alguna idea?


gracias por adelantado

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Load Dll En C#
« Respuesta #3 en: Martes 6 de Marzo de 2007, 19:49 »
0
claro, ya veo.

Una opcion es dejar lo en el GAC y otra es dejarlo en una subcarpeta.

es decir copias el ejecutable y sus dll  en una ubicacion del disco, no en el desktop, y luego le creas un acceso directo al exe y ese acceso lo colocas en el desktop.

para usar el GAC primero que todo necesitas desde visual studio asignar un strong name a la libreria y luego si desde el panel del control agregarla al GAC.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io