2010-07-16 43 views
14

J'ai installé Visual Studio 2008 et je l'utilise en tant qu'utilisateur non administrateur.Comment puis-je déboguer un service IIS local avec Visual Studio exécuté en tant qu'utilisateur non administrateur?

J'ai un projet d'application Web que je suis en train de développer et que je voudrais déboguer à l'aide de Visual Studio. Je peux compiler et aussi déboguer avec "Visual Studio Development Server" sans problèmes. Mais lorsque je sélectionne "Utiliser le serveur Web local IIS" dans mes propriétés de projet et que j'essaie d'enregistrer le projet, Visual Studio me renvoie l'erreur suivante: "Pour accéder aux sites Web IIS locaux, vous devez exécuter Visual Studio dans le contexte d'un compte administrateur " Maintenant, si je prends le mot de Microsoft, je dois exécuter Visual Studio en utilisant réellement un compte administratif, mais les ultimatums de Microsoft ne se sont pas toujours avérés être absolus. D'autres questions similaires, j'ai ajouté mon utilisateur au groupe "Debugger Users" et donné à l'utilisateur le privilège SeDebugPrivilege. Mais, je ne peux pas "Exécuter en tant qu'administrateur" puisque mon utilisateur n'est pas réellement un administrateur.

+0

Je n'aime pas exécuter Visual Studio en tant qu'administrateur non plus. –

Répondre

11

On dirait que pour l'instant, la réponse est vous ne pouvez pas. Je vais supprimer cela si une méthode ou une solution se présente.

+1

Le fait que VS2012 en ce moment propose activement de redémarrer en tant qu'administrateur lorsque vous essayez est la confirmation officielle de ce qui reste le cas ... –

2

Vous pouvez utiliser IIS Express qui ne nécessite pas de privilèges d'administrateur. Ne pensez pas qu'il y ait un stand-alone téléchargement, mais vous pouvez l'obtenir dans le cadre de Web Matrix ici: http://www.microsoft.com/web/webmatrix/download/

+0

Intéressant, mais je pense que c'est un problème de Visual Studio en ce qu'il ne me laisse tout simplement pas sélectionner l'option pour déboguer Local IIS. – palswim

0

Y a-t-il déjà un site Web créé dans IIS pour votre projet? L'écriture dans la métabase IIS nécessite un accès administrateur. Si vous configurez le site Web en tant qu'administrateur, vous pourrez peut-être le déboguer en tant que non administrateur. Une chose à essayer/tester est de simplement pointer IIS sur le dossier de votre site web et de le faire tourner, puis utiliser Visual Studio pour faire un processus attaché au processus w3wp.

+0

Oui, j'ai déjà créé le site Web (en tant qu'administrateur). – palswim

+0

pouvez-vous attacher à w3wp en exécutant juste le studio visuel et attachant le débogueur au processus? – Mike

1

Je n'ai jamais essayé ça, mais ça vaut le coup. Lorsque vous êtes connecté en tant qu'administrateur, vous pouvez modifier l'identité sous laquelle le service et/ou les pools d'applications s'exécutent. Faites-les fonctionner sous le même compte non-administrateur que vous utilisez normalement. Puis, lorsque Visual Studio tente de se connecter au processus, le contexte de sécurité correspond au débogueur et au processus en cours de débogage.

Je pense que vous devez uniquement modifier l'identité sous laquelle votre pool d'applications s'exécute.

Voici quelques plus en détail de la Weblog de James Kovacs: Debugging as a Non-Admin

+0

Visual Studio me donne en fait une boîte de dialogue d'erreur, en disant "Pour accéder aux sites Web IIS locaux, vous devez exécuter Visual Studio dans le contexte d'un compte d'administrateur." Donc, le «contexte de sécurité» n'a même pas d'importance; quel que soit le compte sous lequel j'exécute le service, Visual Studio lui-même m'empêche de sélectionner le compte pour déboguer IIS. – palswim