Я пытаюсь написать тест, который в программе «Установки приборов» создает резервную копию файла и удаляет оригинал, запускает тест без оригинального подарка, а затем в процессе восстановления восстанавливает оригинал из резервной копии. Файл находится в моей папке% ProgramFiles%. Я получаю исключение UnauthorizedAccessException в операторе fileInfo.Delete (). У меня нет проблем с удалением этого файла из другого тестового проекта на том же компьютере, который не запущен из Resharper Test Runner.
Я не могу переместить файл куда-нибудь еще - это ssapi.dll, установленная dll для Visual SourceSafe. (Да, я делаю что-то агрессивное в модульном тесте.)
Это один и тот же пользователь (я) в обоих направлениях - я проверил это через диспетчер задач. Моя учетная запись пользователя является членом локальной группы администраторов. Какие еще факторы влияют на мою «авторизацию» на выполнение каких-либо действий с файлом?
РАЗРЕШЕНО: Хотя он не отвечает на мой первоначальный вопрос (на который я все еще хотел бы знать ответ), я нашел обходной путь для моих целей тестирования, используя System.Security.Permissions framewok, выполняя требование для FileIOPermissionAccess.Read в коде приложения (не тестовом), для которого требуется файл (для вызова Interop), и для его запрета в тесте этого кода, который требует сценария, что этот файл отсутствует. Пока это должно работать (и мне нравится немного узнать о пространстве имен System.Security.Permissions)!