web-dev-qa-db-ja.com

Visual Studioバージョンセレクターが開かない

Visual Studio 2008と2010を並べてインストールしましたが、2008または2010 slnファイルを開こうとしても何も起こりません。砂時計が約1秒間表示されてから消え、何も開かれません。

SlnファイルをVSに直接関連付けるためにどこかを読みましたが、2008ソリューションを2010で開くことを望まないため、そのルートをたどることはできません。

32
Jonas Stawski

UACを有効にしてVistaまたはWindows 7を実行していて、Visual Studio exe(devenv.exe)の[互換性]タブで[管理者としてこのプログラムを実行する]がオンになっている場合、slnを開こうとするとこの動作が発生します。 Windowsエクスプローラから直接ファイル。

1つの解決策は、"%ProgramFiles%\ Common Files\Microsoft Shared\MSEnv"または("%ProgramFiles(x86)%\ Common Files\Microsoft Shared\MSEnv"に移動することです。 = 64ビットシステムの場合)VSLauncher.exeを右クリックしてプロパティを選択します。 互換性タブで、「このプログラムを管理者として実行」を確認します。これで、Windowsエクスプローラーから直接slnファイルを開こうとすると、昇格プロンプトが表示され、ファイルに対して正しいバージョンのVisual Studioが開きます。

40
Gene Merlin

どうやら、「管理者として実行」ハックはVisual Studio 2010 SP1では機能しなくなりました。ファビアンはここで回避策を説明します:

。slnファイルを起動するときにVisual Studio 2010 SP1を昇格して実行する

要約すると:

  1. バックアップVSLauncher.exe

  2. Visual Studio 2010ツールプロンプト内から、VSLauncher.exeからマニフェストを抽出します。

    mt -inputresource:"VSLauncher.exe" -out:VSLauncher.exe.manifest
  1. VSLauncher.exe.manifestファイルを変更します。
    <requestedPrivileges>
       <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
       </requestedExecutionLevel>
    </requestedPrivileges>
  1. マニフェストをVSLauncher.exeに書き戻します。
    mt -outputresource:VSLauncher.exe -manifest VSLauncher.exe.manifest
29
Jorge Poveda

この問題の本当に厄介な点は、IISインスタンスにアタッチするために、Windows 7で管理者としてVisual Studioを実行する必要があることです。最小限のことは、.slnファイルを作成すると、

Jorge Povedaによる投稿は正しいですが、元のハックは機能しなくなりましたが、彼は機能します。それが機能するためには、すべてを管理者として実行する必要があることを言及する価値があります(コマンドプロンプトとテキストエディター)。

Windows 7を管理者として実行しているため、この問題は発生しなかったので、もっと良い方法があると思います。主な違いは、この修正により、管理者プロンプトがVSLauncher.exeですが、私の作業マシンでは、開くように求められますdevenv.exe VSLauncherは、VS2010を何らかの方法で開くためにOKである必要があります。インフラストラクチャの担当者にそれをどのように行ったかを尋ね、ポストバックします。

0
Robin French