unity mvc injection dependency asp.net-mvc-4 bundle antlr3 asp.net-optimization bundling-and-minification

asp.net-mvc-4 - injection - system.web.mvc nuget



¿Cómo resolver el infierno de dependencia de antlr3? (2)

Tengo un proyecto MVC 4 de asp.net con MEF y RavenBD.

Cuando el proyecto se carga, se produce esta excepción: No se pudo cargar el archivo o el ensamblaje Antlr3.Runtime.dll

Descubrí que tanto RavenDB como WebGrease (instalado con MVC 4) usan Antlr3. Pero WebGrease viene con su propia dll Antlr3, firmado por Microsoft - PublicKeyToken 31bf3856ad364e35

AntLr3 predeterminado PublicKeyToken es eb42632606e9261f.

RavenDB y WebGrease usan la misma versión de Antlr3 3.3.1.7705

¿Como puedo resolver este problema?


Desafortunadamente, no encontré una solución para las dependencias en conflicto de la misma versión con firmas diferentes.

Pero la buena noticia es que uno de los colaboradores de WebGrease, Howard Dierking, ha respondido a mis inquietudes por correo electrónico. Aquí está su respuesta:

Hola Maxime, siento haberte encontrado con esto. Estoy trabajando para hacer un par de cosas para resolver rápidamente el problema:

1) Preparando una actualización del paquete antlr con la última versión de antlr - probará y empujará a nuget.org

2) Trabajar con el equipo de WebGrease para cambiar su paquete de NuGet para que no envíe el archivo antlr.dll, sino que tome una dependencia del paquete. Al hablar con ellos, no sabían que existía un paquete.

Esto debería resolver el problema del infierno dll que te encontraste. Esperemos que esto no tome más de un par de semanas con las vacaciones.

Gracias,

_howard


Tuve el mismo problema y lo solucioné eliminando todo el proyecto de mi computadora, obteniendo la última versión del servidor y reconstruyendo todas las dependencias de nuget después de cargar el proyecto. Puedes probar esto, funcionó para mí.

Parece que algunas dependencias de nuget dejan algo de basura después de ser desinstaladas y esa es la única manera de hacer una reconstrucción limpia de toda la solución.