Я делаю некоторые модификации OpenCover и NUnit, чтобы удовлетворить свои потребности.
Вкратце, я хочу получать информацию о покрытии, даже если в Nunit включено теневое копирование. Однако OpenCover не может отслеживать сборку, когда файл pdb отсутствует. Когда в NUnit включено теневое копирование, тестируемая сборка копируется в теневой каталог, и OpenCover не может найти соответствующий файл PDF.
Сначала я подумал, что .Net Runtime просто не копирует файлы pdb в теневой каталог. Но после дальнейшего изучения этой проблемы я обнаружил, что среда выполнения копирует файлы pdb, но не одновременно с копированием сборок.
Сейчас я понимаю, что среда выполнения сначала скопирует сборки в теневые каталоги. Затем эти сборки будут загружены, и Opencover получит уведомление. OpenCover обнаруживает, что файлов pdb нет, поэтому эти сборки игнорируются. Некоторое время спустя файлы pdb были скопированы, но OpenCover не смог этого заметить, поэтому не смог отследить эти сборки.
Итак, мой вопрос: в какое точное время .Net Runtime копирует файлы pdb в теневые каталоги? И возможно ли, что я изменю OpenCover, чтобы он мог отслеживать эти скопированные с помощью теней сборки?