web-dev-qa-db-fra.com

Le sélecteur de version de Visual Studio ne s'ouvre pas

Visual Studio 2008 et 2010 sont installés côte à côte, mais le fait d'ouvrir un fichier sln 2008 ou 2010 ne donne rien. Le sablier s'allume pendant environ une seconde, puis il s'en va et rien ne s'ouvre.

J'ai lu quelque part pour relier le fichier sln à VS directement, mais je ne peux pas emprunter cette voie car je ne veux pas que les solutions de 2008 soient ouvertes avec 2010. Est-ce que quelqu'un sait ce que le problème pourrait être et comment le résoudre?

31
Jonas Stawski

Si vous exécutez Vista ou Windows 7 avec le contrôle de compte d'utilisateur activé et que l'option "Exécuter ce programme en tant qu'administrateur" est cochée sous l'onglet Compatibilité pour l'exe de Visual Studio (devenv.exe), vous obtiendrez ce comportement lorsque vous essayez d'ouvrir un fichier .sn fichier directement à partir de Windows Explorer. 

Une solution consiste à accéder à "% ProgramFiles%\Fichiers communs\Microsoft Shared\MSEnv" ou ( "% ProgramFiles (x86)%\Fichiers communs\Microsoft Shared\MSEnv" pour les systèmes 64 bits ) et cliquez avec le bouton droit de la souris sur VSLauncher.exe et sélectionnez Propriétés . Sous l'onglet Compatibilité , cochez la case " Exécuter ce programme en tant qu'administrateur ". Maintenant, lorsque vous essayez d'ouvrir un fichier sln directement à partir de l'Explorateur Windows, vous obtenez l'invite d'élévation qui ouvre la version correcte de Visual Studio pour le fichier.

39
Gene Merlin

Apparemment, le hack "exécuter en tant qu'administrateur" ne fonctionne plus dans Visual Studio 2010 SP1. Fabian décrit une solution de contournement ici:

Exécution de Visual Studio 2010 SP1 avec privilège lors du lancement de fichiers .sln

Résumer:

  1. Sauvegarde VSLauncher.exe

  2. A partir d'une invite des outils Visual Studio 2010, extrayez le manifeste de VSLauncher.exe:

    mt -inputresource:"VSLauncher.exe" -out:VSLauncher.exe.manifest
  1. Modifiez le fichier VSLauncher.exe.manifest:
    <requestedPrivileges>
       <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
       </requestedExecutionLevel>
    </requestedPrivileges>
  1. Ecrivez le manifeste dans VSLauncher.exe:
    mt -outputresource:VSLauncher.exe -manifest VSLauncher.exe.manifest
29
Jorge Poveda

La chose vraiment ennuyeuse à propos de ce problème est que vous devez exécuter Visual Studio en tant qu'administrateur sous Windows 7 pour attacher à une instance IIS. Le moins qu'ils pouvaient faire n'était pas de casser les fichiers .sln quand vous le faites!

Le message de Jorge Poveda est correct, le piratage original ne fonctionne plus, mais le sien. Il est peut-être utile de mentionner que vous devez tout exécuter en tant qu'administrateur pour que cela fonctionne (invite de commande et éditeur de texte).

Je pense qu’il existe un meilleur moyen car Win 7 au travail fonctionne en tant qu’administrateur et n’a pas ce problème. La principale différence est que, avec ce correctif, l'invite d'administration vous demande d'ouvrir VSLauncher.exe, mais sur mon ordinateur de travail, il demande d'ouvrir devenv.exe, de sorte que VSLauncher doit pouvoir accepter d'ouvrir VS2010 d'une manière ou d'une autre. Je vais demander à nos gars de l'infrastructure comment ils l'ont fait et commenter.

0
Robin French