Estoy haciendo un programa en función de algunos archivos DLL incluidos en un programa de terceros. No puedo distribuir estos archivos DLL por mi cuenta. El programa de terceros debe estar instalado para que mi programa funcione..NET dll de referencia desde otra ubicación
¿Cómo puedo hacer una referencia a estos archivos DLL? Sé la ubicación exacta de ellos a través de una clave de registro establecida por el programa.
He intentado agregar los archivos en Proyecto-> Referencias y establezco CopyLocal en falso, pero cuando comienzo, obtengo una excepción FileNotFoundException "No se pudo cargar el archivo o el ensamblaje".
He intentado agregar un evento a AppDomain.CurrentDomain.AssemblyResolve y cargar los archivos allí, pero el problema es que recibo la excepción incluso antes de que mi programa comience. Incluso si pongo un punto de interrupción en la primera línea, se lanzará la excepción antes de que se llegue al punto de interrupción.
En general, los proveedores de terceros explican cómo utilizar sus componentes en producción si no siguen la práctica estándar (que parece ser el caso aquí). ¿No tienes una documentación decente? –
Como dice simon, generalmente hay un acuerdo distribuible con asambleas de terceros, o si son fuertes, ¿los incluyó en el GAC? –
¿Se suscribe al evento 'AssemblyResolve' lo antes posible? Si no se suscribe lo suficientemente pronto, se puede ejecutar algún código que dependa de su ensamblado de terceros antes de poder resolverlo. –