I am using NUnit Test Adapter 0.94.
After the first running of a unit test, the vstest.executionengine.x86.exe process keeps running. Since it keeps dlls open (sqlite in my case) any subsequent build or test run fails with a timeout. The build process can't copy the dlls over. Killing the process using Task Manager allows building again.
I am not sure if this bug is in the Nunit-Adapter or in Visual Studio itself, but I don't know how to verify that.
Output of the failed build:
[...]
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3686,5): warning MSB3026: Could not copy "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll". Beginning retry 9 in 1000ms. The process cannot access the file 'bin\Debug\x86\SQLite.Interop.dll' because it is being used by another process.
2> Copying file from "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll".
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3686,5): warning MSB3026: Could not copy "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll". Beginning retry 10 in 1000ms. The process cannot access the file 'bin\Debug\x86\SQLite.Interop.dll' because it is being used by another process.
2> Copying file from "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll".
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3686,5): error MSB3027: Could not copy "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll". Exceeded retry count of 10. Failed.
2>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3686,5): error MSB3021: Unable to copy file "c:\Users\Fogger\Documents\#prog\TinyDb\TinyDb.Tests\x86\SQLite.Interop.dll" to "bin\Debug\x86\SQLite.Interop.dll". The process cannot access the file 'bin\Debug\x86\SQLite.Interop.dll' because it is being used by another process.