Tengo entendido que el tiempo de ejecución de .NET siempre buscará ensamblados referenciados en GAC primero y luego en las carpetas locales. ¿Hay alguna configuración en Web.Config que invierta este orden?¿Cómo obtener .NET para buscar ensamblajes en carpetas locales primero en lugar de GAC?
Respuesta
No, no es posible lograr esto. Si existe una DLL de la misma versión a la que se hace referencia en su programa en el GAC, la CLR será siempre elija esta. No hay forma de anular este comportamiento.
No estoy seguro de si hay algo que realmente revierta el orden de búsqueda como tal, pero dependiendo de sus requisitos, es posible que desee consultar assembly binding redirection, que le da bastante control sobre las versiones de ensamblados que se cargan.
Esto cambiará la versión que enlaza. Sin embargo, la versión que termine eligiendo seguirá sujeta a las reglas del GAC que mencioné. – JaredPar
De hecho, aclaró un poco la respuesta para reflejar esto –
Más información. en el entorno alternativo en this SO thread.
JaredPar tiene razón - el GAC será siempre obtener el primer sondeo para el montaje. Sin embargo, si es como yo, y desea tener la DLL en vivo en el GAC y aún depurar, puede agregar un script de compilación para volcar su archivo .pdb en la misma carpeta que el ensamblado en el GAC (estará en C: \ windows \ assembly \ gac_msil \ assembly.name_ [token de clave pública]).
- 1. ¿Cómo copio manualmente ensamblajes en el GAC?
- 2. Registrar ensamblajes en GAC usando InstallShield
- 3. ¿Cómo agrego un ensamblado .NET al GAC en InnoSetup?
- 4. ¿Cuándo debo implementar mis ensamblajes en el GAC?
- 5. Buscar tipos en todos los ensamblajes
- 6. Cómo resolver ensamblajes conflictivos en .Net?
- 7. Agregar ensamblajes al GAC desde la Configuración de Inno
- 8. Instalación de un ensamblaje en GAC para mono/.NET
- 9. ¿Se necesita instalar un ensamblado COM + (.net) en el GAC?
- 10. ¿Qué es el GAC en .NET?
- 11. Instalar .NET 4.0 dll en el GAC
- 12. CFileDialog :: Buscar carpetas
- 13. Buscar() y Primero() arroja excepciones, ¿cómo devolver nulo en su lugar?
- 14. Archivos de configuración para ensambles en GAC
- 15. de referencia que no Asambleas de carpetas para .NET 4.0
- 16. Cómo sincronizar rsync a carpetas locales desde una vista Django
- 17. ¿Cómo registro un archivo .NET DLL en el GAC?
- 18. jsoup segundo elemento en lugar del primero()
- 19. Buscando el ensamblado .NET en un lugar diferente
- 20. ¿Cómo determinar dónde Assembly.Load() busca ensamblajes?
- 21. ¿Cómo extraer un ensamblaje del GAC?
- 22. .net 4 confía parcialmente en un ensamblado de GAC
- 23. .NET 4 carga ensamblajes diferentes de .NET 3.5
- 24. Realizar amplitud Primero Buscar de forma recursiva
- 25. ¿Cómo puedo enumerar todos los ensamblados registrados en GAC?
- 26. Buscar primero y último día del último trimestre en ORACLE
- 27. Sistema de archivos que usa etiquetas en lugar de carpetas?
- 28. Buscar ubicaciones de carpetas del sistema en Python
- 29. PostSharp en ensamblajes No tengo fuente para
- 30. Cómo integrar ILMerge en el proceso de compilación de Visual Studio para combinar ensamblajes?
¿Tiene algo que ver con la seguridad? – codeulike
@codeulike, creo que tiene más que ver con el servicio. Sé menos sobre el por qué y más sobre la capacidad de hacerlo porque pasé mucho tiempo tratando de subvertir este comportamiento antes de darme cuenta de que simplemente no era posible. – JaredPar
Es por eso que el GAC es malo, en mi libro. – Benjol