Sto lavorando a una soluzione composta da 8 progetti .NET. Dal momento che sto praticando TDD, devo ricomporre la mia soluzione molto spesso. Ultimamente ho ottenendo il seguente errore circa ogni seconda volta quando si cerca di compilare:Visual Studio 2008 blocca la DLL nella cartella bin e non la lascia andare
errore 2 Impossibile copiare il file "obj \ Debug \ Zeiterfassung.Tests.dll" per "bin \ Debug \ Zeiterfassung. Tests.dll". Il processo non può accedere al file "bin \ Debug \ Zeiterfassung.Tests.dll" perché è utilizzato da un altro processo .
Zeiterfassung.Tests.dll è la DLL generata da uno dei miei progetti (è il progetto di test dell'unità). È sempre questa DLL che non può essere copiata e causa l'errore. Tutto il resto funziona bene il 100% delle volte.
In circa 9/10 volte posso "risolvere" il problema ricompilando nuovamente la mia soluzione. Ma quando il problema si sta mettendo davvero male, il progetto non verrà compilato correttamente, non importa quanto spesso provo e devo riavviare l'IDE.
Ho usato microsoft's handle.exe per verificare quale processo sta bloccando la DLL ed è devenv.exe. Ho anche provato a cancellare la DLL a mano e in realtà non può essere cancellata fino a quando non riavvio l'IDE.
Ultimo ma non meno importante, ho provato ad aggiungere <GenerateResourceNeverLockTypeAssemblies>true</GenerateResourceNeverLockTypeAssemblies>
al mio progetto come suggerito in un altro forum, ma questo non ha aiutato.
Si prega di aiuto! Questo problema sta davvero iniziando a farmi impazzire.
Modifica: Potrei anche aggiungere che mi sono assicurato che i miei test di unità siano terminati quando si verifica questo problema. Tuttavia, la dll rimane bloccata. Sto eseguendo i miei test tramite l'unit test explorer di Resharper.
Se questo ha funzionato, mi preoccupa. Significa che hai un problema nel codice da qualche parte che hai aggiunto per sbaglio e che ora hai rimosso. Potrebbe portare all'instabilità in seguito. – Randolpho
Mi sembra piuttosto come se avessi introdotto un problema che ha portato a questo problema negli ultimi giorni e ora ho rimosso il problema con il mio codice tornando alla versione precedente del codice. –
Forse hai solo bisogno di riavviare, stai usando Windows lol. –