Как запустить приложение как администратор в отладке с Visual Studio?
У меня есть приложение aC#, где я должен иметь доступ на чтение / запись к корню диска C. Я понимаю, что могу скомпилировать код и запустить исполняемый файл от имени администратора, и он работает. Но мне нужно отладить его, и я не уверен, как запустить приложение в Visual Studio.
Я попытался добавить:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
к моему манифесту, но я все еще получаю ошибку отказа в доступе
Вот строка кода, которая терпит неудачу:
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);
На данный момент у меня есть работа вокруг, но я хотел бы знать на будущее.
6 ответов
Просто запустите Visual Studio как администратор. Любая программа, которую вы отлаживаете оттуда, также будет запускаться от имени администратора.
VS должен быть запущен с правами администратора. тем не менее, более элегантный способ - в requireExecutionLevel в манифесте должно быть установлено значение requireAdministrator.
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Когда вы откроете проект и попробуете выполнить отладку, VS2012 выдаст предупреждение о праве администратора и перезапустится до права администратора. А также exe-файл будет помечен как требующий права администратора в первую очередь, поэтому при развертывании вам не нужно настраивать требование прав администратора в свойствах файла.
Вы также можете установить эту опцию администратора автоматически:
Чтобы ответить на вопрос в своем заголовке, вы можете просто выбрать Запуск от имени администратора из контекстного меню при запуске VS.
Теперь проверенный ответ не будет работать.
Вы должны найти опцию для этого в свойствах проекта Linker -> Manifest File -> UAC Execution Level. Установите это для requireAdminstrator.
Это приведет к тому, что сгенерированный по умолчанию манифест будет включать требуемый уровень запрашиваемого исполнения, так что вашим пользователям будет автоматически предложено повысить свои привилегии, если они еще не повышены.
Эта ошибка возникает из-за того, что у текущего пользователя недостаточно прав для открытия Visual Studio.
Чтобы обойти эту проблему, щелкните правой кнопкой мыши Visual Studio и выберите запускать от имени администратора при каждом открытии.
Кроме того, вы можете проверить совместимость устранения неполадок как постоянное решение
- Щелкните правой кнопкой мыши Visual Studio> Выбрать Устранение неполадок совместимости.
- Выберите "Устранение неполадок программы".
- Проверка Программа требует дополнительных разрешений.
- Нажмите на Проверить программу.
- Подождите немного до запуска программы. Нажмите Далее.
- Выберите Да, сохранить эти настройки для этой программы.
- Ждите, чтобы решить проблему.
- Убедитесь, что окончательный статус зафиксирован. Нажмите Закрыть.
Чтобы найти подробные шаги с изображением для Как применить, проверьте эту ссылку
Надеюсь, это поможет вам