Основная проблема, которую я обнаружил с / noshadow, заключается в том, что он мешает вашему проекту собираться, поскольку NUnit теперь вынужден использовать и блокировать вашу DLL. Если вы оставите эту опцию отключенной, то NUnit создаст копию вашей DLL.
Если вы пытаетесь практиковать TDD и постоянно строите проект в цикле Red, Green, Refactor, то вы не можете легко использовать / noshadow. Вы получите сообщение об ошибке типа:
Процесс не может получить доступ к файлу 'bin \ Debug \ calculator.dll', поскольку он используется другим процессом.
Возможно, есть способы обойти это, но это главная проблема, которую я нашел.
Что касается того, когда будет использовать это: я думаю, что основной причиной является повышение производительности, но, поскольку большинство настоящих модульных тестов выполняются очень быстро, я не уверен, когда вам это действительно понадобится. Я уверен, что другие люди придумают несколько хороших примеров.