Me gustaría crear una clase que compila en una sola DLL. Esta DLL agregaría funcionalidad a un producto existente.¿Es posible tener referencias DLL independientes de la versión en una clase?
Para que esto funcione, la clase personalizada hace referencia a las DLL contenidas en el producto subyacente. Estas referencias son necesarias para compilar.
Todo funciona bien aquí y la clase personalizada se compila. Puedo colocar la DLL producida en el producto y todo funciona bien.
Sin embargo, este producto tiene varias versiones (versiones menores, service packs). Me gustaría distribuir esta DLL a otros, pero me parece que la DLL debe coincidir con perfectamente la versión del producto. Si no hay un partido perfecto, entonces se produce el siguiente error:
No se pudo cargar el archivo o ensamblado 'Product.Web.UI, versión = 3.6.1920.2, Culture = neutral, PublicKeyToken = dfeaee0e3978ac79 'o una de sus dependencias. La definición del manifiesto del conjunto ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)
¿Cómo producir un DLL que no es exigente con la referencia de la versión?
Sí, lo probé. Según entiendo, esta configuración solo se aplica en tiempo de compilación. Es decir, durante la compilación, el compilador no es exigente con la versión de la DLL que encuentra. Sin embargo, para la DLL resultante, esas referencias de DLL no específicas se convertirán en referencias de ensamblado fuertemente nombradas (completadas con el número de versión) en función de la DLL que se utilizó para compilar. –