Tenho um aplicativo c # no qual preciso ter acesso de leitura / gravação à raiz da unidade C. Sei que posso compilar o código e rodar o executável como administrador e funciona. Mas preciso depurá-lo e não tenho certeza de como iniciar o aplicativo no Visual Studio.
Eu tentei adicionar:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
ao meu manifesto, mas ainda recebo erro de acesso negado.
Aqui está a linha de código que falha:
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);
Por enquanto, tenho uma solução alternativa, mas gostaria de saber para o futuro.
c#
visual-studio
carny666
fonte
fonte
Respostas:
Basta executar o próprio Visual Studio como administrador. Qualquer programa que você depurar de lá também será executado como administrador.
fonte
O VS deve ser executado com direito de administrador. no entanto, uma forma mais elegante é em requiredExecutionLevel no manifesto que deve ser definido como 'requireAdministrator'.
Quando você abre o projeto e tenta depurar, o VS2012 avisa sobre o direito de administrador e reinicia-se com o direito de administrador. E também o arquivo exe será marcado como requerendo direito de administrador em primeiro lugar, portanto, quando implantar, você não precisa configurar o requisito de direito de administrador nas propriedades do arquivo.
fonte
Você também pode definir esta opção de administrador automaticamente:
fonte
Compatibility > Run As Administrator
.Para responder à pergunta em seu título, você pode apenas selecionar Executar como Administrador no menu de contexto ao iniciar o VS.
fonte
Agora, a resposta marcada não funcionará.
Você deve encontrar uma opção para isso nas propriedades do projeto Linker -> Arquivo de manifesto -> Nível de execução do UAC . Defina como requireAdminstrator .
Isso fará com que o manifesto gerado padrão inclua o nível de execução solicitado de que você precisa, de modo que seus usuários sejam solicitados automaticamente a elevar seus privilégios se eles ainda não estiverem elevados.
fonte
O erro "Esta tarefa requer que o aplicativo tenha permissões elevadas" ocorre porque O usuário atual não teve privilégios suficientes para abrir o Visual Studio.
Como uma solução temporária
Você pode superar esse problema clicando com o botão direito do mouse no Visual Studio e selecionar executar como administrador sempre que desejar abri-lo
Como solução permanente ,
Você pode verificar a solução de problemas de compatibilidade
fonte