2011-11-29 18 views
16

Ho questa assemblea che per qualche ragione di Windows ha iniziato a caricare da questo percorso:cos'è la cache AppData Local assembly dl3?

C:\Users\marius\AppData\Local\assembly\dl3\MP6PT6BV.2Z4\GMRQEZL9.LCB\46d762c5\8cf066ff_7eaecc01\X.DLL 

Ciò significa che qualsiasi cambiamento che faccio per l'assemblaggio, la nuova copia di esso non viene caricato dalla sua cartella di output, ma da quella cartella memorizzata nella cache. Ho provato a eliminare la cartella, anche riavviando Windows, viene generato nuovamente e l'assembly caricato da lì.

Quindi, come posso liberarmene? Cosa devo fare per dire al sistema di caricare la DLL dalla sua cartella di output e non dalla cache?

+0

Questa è stata anche la causa di un bug nel prossimo VS 11 come può essere visto qui: http://stackoverflow.com/q/10159828/114029 Grazie per aver postato questa domanda! : D –

risposta

22

Ho trovato la risposta alla mia domanda. Questa è la cartella "shadow copy" per .NET framework come specificato nel registro di Windows in HKCU \ Software \ Microsoft \ Fusion \ DownloadCacheLocation. La copia shadow è una funzionalità del framework .NET che consente di aggiornare gli assembly utilizzati in un dominio dell'app senza scaricare il dominio dell'app. Ulteriori informazioni su questa funzionalità in MSDN http://msdn.microsoft.com/en-us/library/ms404279.aspx.

Il dominio dell'app in cui stavo caricando l'assembly è stato configurato per i file di copia shadow, impostando la proprietà ShadowCopyFiles su true.

+0

Quindi ... come lo hai risolto? – Farinha

+0

È necessario assicurarsi che 'ShadowCopyFiles' sia false se non si desidera utilizzare la funzione. –

+5

@MariusBancila Come si imposta a false? Ho provato tutti i modi per farlo, e nessuno sembra funzionare. C'è un setting in VS o c'è un altro modo? – Erick

Problemi correlati