Tengo una aplicación ac # donde debo tener acceso de lectura / escritura a la raíz de la unidad C. Me doy cuenta de que puedo compilar el código y ejecutar el ejecutable como administrador y funciona. Pero necesito depurarlo y no estoy seguro de cómo se iniciaría la aplicación dentro de Visual Studio.
He intentado agregar:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
a mi manifiesto, pero todavía obtengo un error de acceso denegado.
Aquí está la línea de código que falla:
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);
Por ahora tengo una solución pero me gustaría saberlo para el futuro.
c#
visual-studio
carny666
fuente
fuente
Respuestas:
Simplemente ejecute Visual Studio como administrador. Cualquier programa desde el que depure también se ejecutará como administrador.
fuente
VS debe ejecutarse con derechos de administrador. sin embargo, una forma más elegante es en requiredExecutionLevel en el manifiesto que debe establecerse en 'requireAdministrator'.
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Cuando abra el proyecto e intente depurar, el VS2012 le advertirá sobre el derecho de administrador y se reiniciará a sí mismo como derecho de administrador. Y también el archivo exe se marcará como requerido de administrador en primer lugar, por lo tanto, cuando se implemente, no es necesario configurar el requisito de derecho de administrador en las propiedades del archivo.
fuente
También puede configurar esta opción de administrador automáticamente:
fuente
Compatibility > Run As Administrator
.Para responder a la pregunta en su título, puede seleccionar Ejecutar como administrador en el menú contextual al iniciar VS.
fuente
Ahora la respuesta marcada no funcionará.
Debería encontrar una opción para esto en las propiedades del proyecto Vinculador -> Archivo de manifiesto -> Nivel de ejecución de UAC . Establezca esto en requireAdminstrator .
Esto hará que el manifiesto generado por defecto incluya el nivel de ejecución solicitado que necesita, de modo que a sus usuarios se les pedirá automáticamente que eleven sus privilegios si aún no lo están.
fuente
El error "Esta tarea requiere que la aplicación tenga permisos elevados" se produce debido a que El usuario actual no tenía suficientes privilegios para abrir Visual Studio.
Como solución temporal
Puede solucionar este problema haciendo clic con el botón derecho en Visual Studio y seleccione Ejecutar como administrador cada vez que desee abrirlo.
Como solución permanente ,
Puede consultar la solución de problemas de compatibilidad
fuente