Имам приложение, което трябва да взаимодейства с неуправляван и честно казано бъгав DLL.
Компенсирах това, като накарах приложението си да проверява за всякакви условия за грешка при стартиране на DLL, неща като изтичане на времето, в случай че DLL влезе в безкраен цикъл.
Опитвам се да тествам тази работа в моето приложение и затова съзнателно съм кодирал DLL, който нарочно влиза в безкраен цикъл.
В моя модулен тест искам да преименувам оригиналния DLL, да копирам в моя „счупен“ DLL, да стартирам теста, да видя работата на кода за изчакване, след това да премахна счупения DLL и да заменя оригиналния DLL.
В моя метод TearDown обаче не мога да изтрия DLL, получавайки UnauthorizedAccessException. Предполагам, че това е така, защото nUnit все още има DLL "отворен" по някакъв начин.
Как мога да накарам nUnit да освободи DLL?