¿Cómo ejecutar la aplicación como administrador en depuración con Visual Studio?

90

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.

carny666
fuente
3
Si ejecuta VS como administrador, todo lo que esté depurando se ejecutará también como administrador.
JMK
Recomendaría la siguiente solución, de lo contrario, tiene problemas para ejecutar soluciones
ancladas
En mi caso, tuve que ir a Compatibilidad y seleccionar ejecutar en Windows XP (Service Pack 3). Ejecutar el IDE como administrador no ayudó.
Wendy

Respuestas:

128

Simplemente ejecute Visual Studio como administrador. Cualquier programa desde el que depure también se ejecutará como administrador.

Soy Sam dice Reincorporar a Monica
fuente
13
Mejor aún, configure el acceso directo de Visual Studio para que se ejecute como administrador desde su página de Propiedades
Panagiotis Kanavos
20
@PanagiotisKanavos Personalmente, me gusta evitar ejecutar cosas como administrador a menos que tenga una razón específica para hacerlo
Sam, soy, dice Reincorporar a Monica
1
Si. Hay algunos programas que requieren un administrador. Y una vez que lo ejecuto, VS solicita reiniciar el VS en modo administrador. No estoy seguro de cómo está sucediendo eso. Acabo de configurar el nivel = "requireAdministrator". Pero a veces, no se reinicia automáticamente
Jayson Ragasa
@SamIam: y después de implementar la aplicación web, ¿qué tipo de configuraciones se requieren ...?
Ghanshyam Lakhani
1
A pesar de ser aceptado, esta no es la solución correcta. No ejecuta programas, ni VS ni nada más como administrador, a menos que sea necesario. La pregunta original era sobre el programa que escribe el OP, no VS. La respuesta correcta es especificar que el programa en desarrollo requiere privilegios de administrador.
Gábor
65

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.

Supawat Pusavanno
fuente
1
También asegúrese de que en la pestaña Seguridad de su proyecto, "Habilitar ClickOnce ..." no esté marcado; de lo contrario, recibirá una advertencia de seguridad cuando intente ejecutar el código requerido por el administrador. (esa configuración se comprobará si ya hizo clic en 'Publicar' en su aplicación en algún momento).
lunes
1
Solo una nota: si no hay un manifiesto, simplemente agregue uno. De alguna manera no me di cuenta de que puede que no exista.
Mołot
12

También puede configurar esta opción de administrador automáticamente:

ingrese la descripción de la imagen aquí

Bura Chuhadar
fuente
1
Creo que quiere resaltar la entrada "Propiedades" en el menú contextual, pero todos saben de lo que está hablando.
Aaron Campbell
Una forma más sencilla es Compatibility > Run As Administrator.
AStopher
1
Esta es una idea monumentalmente mala. Realmente no desea que Visual Studio se ejecute como administrador constantemente.
Jammer
1
Esta captura de pantalla es completamente ininteligible y no tiene una explicación que la acompañe, independientemente de si es una buena solución o no.
MickeyfAgain_BeforeSalirOfSO
7

Para responder a la pregunta en su título, puede seleccionar Ejecutar como administrador en el menú contextual al iniciar VS.

Josh
fuente
4

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.

JunJie Wang
fuente
1

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

  • Derecha, haga clic en Visual Studio> seleccione Solucionar problemas de compatibilidad.
  • Seleccione Programa de solución de problemas.
  • Marque El programa requiere permisos adicionales.
  • Haga clic en Probar el programa.
  • Espere un momento hasta que se inicie el programa. Haga clic en Siguiente.
  • Seleccione Sí, guarde esta configuración para este programa.

Para conocer los pasos detallados con imágenes, verifique que Visual Studio requiere que la aplicación tenga permisos elevados

Mohamed
fuente