web-dev-qa-db-fra.com

Comment faire pour exécuter l'application en tant qu'administrateur dans le débogage avec Visual Studio?

J'ai une application c # où je dois avoir un accès en lecture/écriture à la racine du lecteur C. Je me rends compte que je peux compiler le code et exécuter l'exécutable en tant qu'administrateur et que cela fonctionne. Mais je dois le déboguer et je ne sais pas comment lancer l'application dans Visual Studio.

J'ai essayé d'ajouter:

<requestedExecutionLevel level="asInvoker" uiAccess="true" />

à mon manifeste, mais je reçois toujours une erreur d'accès refusé.

Voici la ligne de code qui échoue:

MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);

Pour l'instant j'ai un travail autour mais j'aimerais savoir pour le futur.

76
carny666

Il suffit de lancer Visual Studio lui-même en tant qu'administrateur. Tout programme que vous déboguez à partir de là sera également exécuté en tant qu'administrateur.

104
Sam I am

VS doit être exécuté avec droit d’administrateur. Cependant, le paramètre requiredExecutionLevel du manifeste doit être défini de manière plus élégante sur 'requireAdministrator'.

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

Lorsque vous ouvrez le projet et essayez de déboguer, le VS2012 vous avertira du droit d'administrateur et le redémarrera lui-même. Et aussi le fichier exe sera marqué comme nécessitant un droit d’administrateur dès le départ. Par conséquent, lors du déploiement, il n’est pas nécessaire de configurer les droits d’administrateur dans les propriétés du fichier.

52
Supawat Pusavanno

Vous pouvez également définir cette option d'administrateur automatiquement:

enter image description here

12
Bura Chuhadar

Pour répondre à la question dans votre titre, vous pouvez simplement sélectionner Exécuter en tant qu'administrateur dans le menu contextuel lors du démarrage de VS.

7
Josh

Maintenant, la réponse cochée ne fonctionnera pas.

Vous devriez trouver une option à cet effet dans les propriétés du projet Éditeur de liens -> Fichier manifeste -> Niveau d'exécution UAC. Définissez ceci sur requireAdminstrator .

Ainsi, le manifeste généré par défaut inclura le requiredExecutionlevel dont vous avez besoin, de sorte que vos utilisateurs seront automatiquement invités à élever leurs privilèges s'ils ne le sont pas déjà.

0
JunJie Wang

Cette erreur se produit car l'utilisateur actuel ne disposait pas d'un privilège suffisant pour ouvrir Visual Studio.

Pour résoudre ce problème, cliquez avec le bouton droit sur Visual Studio et sélectionnez Exécuter en tant qu'administrateur à chaque fois que vous souhaitez l'ouvrir.

En outre, vous pouvez vérifier le dépannage de la compatibilité en tant que solution permanente

  • Faites un clic droit sur Visual Studio> Sélectionnez Dépanner la compatibilité.
  • Sélectionnez Dépanner le programme.
  • Vérifier Le programme nécessite des autorisations supplémentaires.
  • Cliquez sur Test du programme.
  • Attendez un moment jusqu'au lancement du programme.Cliquez sur Suivant.
  • Sélectionnez Oui, enregistrez ces paramètres pour ce programme. 
  • Attendez que le problème soit résolu.
  • Assurez-vous que le statut final est fixé. Cliquez sur Fermer.

Pour trouver les étapes détaillées avec une image pour Comment l’appliquer, cochez cette link

J'espère que ça vous aide

0