2009-06-05 7 views

risposta

4

Net assemblee ha diverso ordine di ricerca di finestre regolari dll. GAC verrà controllato SOLO per prima cosa se l'assembly viene firmato con un nome sicuro. Se l'assembly non è firmato gac/non firmato, la cartella locale viene controllata successivamente. Questa è la fine dell'ordine di ricerca .net dell'assieme, 1,2 e 3 sopra non sono controllati.

è possibile modificare il punto in cui .net cerca l'assembly avendo un file di configurazione locale per l'app.

Inoltre, this post in the microsoft.public.dotnet.framework.aspnet group contengono informazioni molto utili.

+1

Potrebbe essere opportuno aggiornarlo con la ricerca 'ProbingPath' – GETah

+0

" con il nome fortemente firmato "intendi fortemente denominato E firmato? – user145400

0

C: \ Windows e C: \ Windows \ System32 non sono rilevanti per il rilevamento gestito dell'assemblaggio. Il framework non cercherà gli assembly lì.

Si guarda prima al GAC/Application Folder e poi in cartelle a cui punta il codebase/privatepath impostazioni se specificato nel file app.config. (Solo gli assembly con nome sicuro possono essere inseriti nel GAC.) Durante il sondaggio, verifica la presenza di più combinazioni aggiungendo .dll o .exe, cercando nelle cartelle denominate assembly.exe/.dll, cercando gli assembly destinati a culture specifiche se necessario .

Un buon strumento per vedere quali cartelle il runtime ha controllato per errori di risoluzione degli assiemi è lo Fusion Log Viewer. Immettere "fuslogvw" nel prompt dei comandi VS. Mostra le voci digitate per NomeApplicazione e Nome

Problemi correlati