Estoy intentando hacer referencia a un archivo DLL administrado en mi proyecto .NET, sin copiarlo en mi directorio de salida. Entonces, cuando mi programa se ejecuta, ejecuta el archivo DLL desde la ubicación en la que está instalado, donde sea que esté. El problema radica en el hecho de que esta DLL administrada llama a las DLL no administradas. Cuando trato de hacer referencia a la DLL administrada, arroja un FileNotFound Exception - Could not load file or assembly 'CharacterGen' or one of its dependencies. The system cannot find file specified
. Cuando configuro mi salida para que esté dentro del mismo directorio que la DLL a la que me refiero, todo funciona bien. La solución habitual sería también hacer referencia a las DLL que se invocan desde el otro ensamblado. Sin embargo, no puedo hacer referencia a conjuntos no administrados desde mi programa administrado.Conjunto no gestionado de referencia
¿Hay alguna manera de hacer referencia a una DLL administrada que invoca DLL no administradas?
¿Está familiarizado con GAC ..? si no quiere copiar en la carpeta bin entonces cree una carpeta separada, pero igual tendrá que copiar los archivos .dll a esa carpeta, remítelos ect ... si no, tendrá que hacer un poco de código LoadFromAssebly usando rutas de búsqueda, por qué no desea simplemente copiar los archivos .dll a una ubicación a la que se pueda hacer referencia de manera adecuada ... también ha pensado en crear un instalador MSI de esa manera si el usuario desea ejecutar su aplicación/configurarla en una estructura de directorio diferente ... en al menos pueden hacer eso y se manejarán las dependencias de referencia relacionadas. – MethodMan
No estoy muy familiarizado con GAC, pero por lo que entiendo, los ensambles deben estar firmados. No tengo control sobre las DLL a las que me refiero, así que no puedo verificar si están firmadas o no. Pensé en un instalador, pero no quiero instalarlo en el directorio existente del usuario porque no es el directorio de mi programa, es uno que existe en las máquinas de mi cliente. Esa deberá ser mi alternativa si nada más funciona. – XSL
El GAC no es útil para hacer referencia a archivos DLL no administrados. – BrainSlugs83