J'ai une application ac # où je dois avoir un accès en lecture / écriture à la racine du lecteur C. Je réalise que je peux compiler le code et exécuter l'exécutable en tant qu'administrateur et cela fonctionne. Mais je dois le déboguer et je ne sais pas comment démarrer l'application dans Visual Studio.
J'ai essayé d'ajouter:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
à mon manifeste mais j'obtiens 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 mais j'aimerais savoir pour l'avenir.
c#
visual-studio
carny666
la source
la source
Réponses:
Exécutez simplement Visual Studio en tant qu'administrateur. Tout programme que vous déboguez à partir de là sera également exécuté en tant qu'administrateur.
la source
VS doit être exécuté avec le droit d'administrateur. cependant, une manière plus élégante est que le niveau requiredExecutionLevel du manifeste doit être défini sur «requireAdministrator».
Lorsque vous ouvrez le projet et essayez de déboguer, le VS2012 vous avertit du droit d'administrateur et redémarre avec le droit d'administrateur. Et le fichier exe sera également marqué comme nécessitant le droit d'administrateur en premier lieu.Par conséquent, lors du déploiement, vous n'avez pas besoin de configurer l'exigence de droit d'administrateur dans les propriétés du fichier.
la source
Vous pouvez également définir cette option d'administrateur automatiquement:
la source
Compatibility > Run As Administrator
.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.
la source
Maintenant, la réponse vérifiée ne fonctionnera pas.
Vous devriez trouver une option pour cela dans les propriétés du projet Linker -> Manifest File -> UAC Execution Level . Définissez ceci sur requireAdminstrator .
Cela entraînera le manifeste généré par défaut pour inclure le niveau d' exécution demandé dont vous avez besoin, de sorte que vos utilisateurs seront automatiquement invités à élever leurs privilèges s'ils ne sont pas déjà élevés.
la source
L' erreur «Cette tâche nécessite que l'application dispose d'autorisations élevées» se produit car l'utilisateur actuel ne dispose pas d'un privilège suffisant pour ouvrir Visual Studio.
Comme solution temporaire
Vous pouvez résoudre ce problème en cliquant avec le bouton droit sur Visual Studio et en sélectionnant Exécuter en tant qu'administrateur à chaque fois que vous avez l'intention de l'ouvrir
En tant que solution permanente ,
Vous pouvez vérifier le dépannage de compatibilité
la source