Esta pregunta se puede abordar de variadas maneras, pero en este caso te damos la respuesta más completa en nuestra opinión.
Solución:
Como ya se indicó, no hay nada de malo en hacer referencia a 2 versiones diferentes de un paquete NuGet, siempre y cuando se hagan esas referencias en diferentes proyectos de Visual Studio.
Pero aquí también es donde termina la parte fácil, pero creo que quedan algunas opciones. Dependiendo de sus necesidades veo las siguientes opciones.
- Cree un paso posterior a la compilación que registre los ensamblajes de múltiples versiones en el GAC. Siempre que cada ensamblaje tenga una versión de ensamblaje diferente, el CLR seleccionará el ensamblaje correcto del GAC cuando sea necesario.
- Cree un paso posterior a la compilación que copie los diferentes ensamblajes en una subcarpeta de la carpeta bin de su aplicación como bin/paquete-v1 y bin/paquete-v2. Entonces puede en su aplicación anular el AsambleaResolver evento como se describe aquí https://msdn.microsoft.com/en-us/library/ff527268(v=vs.110).aspx. Esto le permitirá cargar el ensamblaje en la versión correcta en el momento que lo necesite.
- Si no quieres jugar con AsambleaResolverentonces también puede modificar su web/aplicación.config para realizar el redireccionamiento/sondeo del ensamblado como se describe aquí https://msdn.microsoft.com/en-us/library/4191fzwb(v=vs.110).aspx
Espero que esto ayude un poco, para que no tengas que modificar el código fuente de terceros la próxima vez.
Bien, resuelvo esto descargando el código fuente completo para la versión contenedora 2.X. Cambió el nombre de su espacio de nombres a ABCDEF2, donde ABCDEF era el espacio de nombres original. Construir mi propio paquete nuget con el mío key y… publicarlo en nuestro servidor nuget privado. Esta es una solución tan poco convincente, pero no hay otra forma que descargar manualmente los paquetes originales y hacer referencia a ellos directamente con un nombre de archivo diferente, etc. y perderá las ventajas nuget.
Te mostramos las reseñas y valoraciones de los usuarios
Si piensas que te ha sido de ayuda nuestro artículo, sería de mucha ayuda si lo compartes con otros desarrolladores de esta forma nos ayudas a dar difusión a este contenido.