È a mia conoscenza che .NET runtime cercherà sempre gli assembly referenziati in GAC e quindi nelle cartelle locali. Esiste un'impostazione in Web.Config che inverta questo ordine?Come ottenere .NET per cercare gli assembly nelle cartelle locali prima anziché GAC?
risposta
No. Non è possibile ottenere questo. Se nella GAC esiste una DLL di versione uguale a quella a cui si fa riferimento nel programma, CLR eseguirà sempre su. Non c'è modo di ignorare questo comportamento.
Non sono sicuro se c'è qualcosa che in realtà inverte l'ordine di ricerca in quanto tale, ma a seconda delle esigenze si potrebbe voler esaminare assembly binding redirection che offre un controllo molto elevato su quali versioni di assiemi sono caricati.
Ciò cambierà la versione che si lega. Tuttavia, la versione che si sceglie sarà ancora soggetta alle regole GAC che ho citato. – JaredPar
In effetti, ha chiarito la risposta un po 'per riflettere questo –
Ulteriori informazioni. su work around in this SO thread.
JaredPar ha ragione: il GAC ha il sempre il viene interrogato per primo per l'assemblaggio. Tuttavia, se sei come me, e desideri che la DLL risieda nel GAC e esegua ancora il debug, puoi aggiungere uno script di compilazione per scaricare il tuo file .pdb nella stessa cartella dell'assembly nel GAC (sarà in C: \ windows \ assembly \ gac_msil \ assembly.name_ [token chiave pubblica]).
- 1. Registrare gli assembly in GAC utilizzando InstallShield
- 2. Installazione di un assembly in GAC sia per mono/.NET
- 3. Se un assembly è nel GAC, anche tutti gli assembly che chiama devono essere nel GAC?
- 4. Modo "ufficiale" per distribuire gli assembly nel GAC?
- 5. Come posso elencare tutti gli assembly registrati in GAC?
- 6. enumerazione di assembly in GAC
- 7. Come estrarre un assembly dal GAC?
- 8. .net 4 parziale considera un assembly da GAC
- 9. Determinare se vengono utilizzati gli assembly di GAC e NGen
- 10. Esiste un equivalente GAC per .NET Core?
- 11. Gli assembly .NET cambiano mai?
- 12. Ottenere gli assembly dipendenti?
- 13. Dove sono installati gli assembly nel GAC fisicamente memorizzati?
- 14. Impossibile disinstallare un assembly da GAC?
- 15. Per GAC, o non per GAC?
- 16. Delphi, Come ottenere tutti gli IP locali?
- 17. . NET 4.0 ha un nuovo GAC, perché?
- 18. Ricerca di .NET Assembly in un'altra posizione
- 19. .NET 4.0 DataAnnotations GAC/EntityFramework conflitto
- 20. Installa dll .NET 4.0 al GAC
- 21. Come posso forzare .NET a utilizzare una copia locale di un assembly presente nel GAC
- 22. È possibile eseguire gli assembly .NET 2.0 con .NET 4.0?
- 23. Come precaricare tutti gli assembly distribuiti per un AppDomain
- 24. strumento Viewer per Global Assembly Cache (Viewer)
- 25. Come ottenere l'elenco delle versioni locali in .Net
- 26. Prestazioni di .NET ILMerged assembly
- 27. Esiste uno strumento per la gestione GAC?
- 28. Firma di assembly .NET
- 29. .NET Assembly Dipendenze
- 30. Come ottenere la data di un assembly .NET
È qualcosa a che fare con la sicurezza? – codeulike
@codeulike, credo che abbia più a che fare con la manutenzione. So meno sul perché e altro sulla capacità di farlo, perché ho passato un sacco di tempo a cercare di sovvertire questo comportamento prima di rendermi conto che semplicemente non era possibile. – JaredPar
Questo è il motivo per cui il GAC è malvagio, nel mio libro. – Benjol