2010-07-21 55 views
28

我將Visual Studio 2008和2010並排安裝,但試圖打開2008或2010 sln文件不會導致任何結果。小時玻璃開啓約一秒鐘,然後消失,沒有任何東西被打開。Visual Studio版本選擇器無法打開

我讀了一些地方將sln文件直接關聯到VS,但我不能走這條路,因爲我不想讓2008年的解決方案與2010年打開。有誰知道這個問題可能是什麼以及如何解決它?

回答

36

如果您在啓用UAC的情況下運行Vista或Windows 7,並且在Visual Studio exe(devenv.exe)的兼容性選項卡上選中了「以管理員身份運行此程序」,則在嘗試時會出現此問題直接從Windows資源管理器打開sln文件。

一種解決辦法是去爲 「%ProgramFiles%\ Common Files文件\ Microsoft共享\ MSEnv」或(爲 「%ProgramFiles(x86)的%\ Common Files文件\ Microsoft共享\ MSEnv」 64位系統)並右鍵單擊VSLauncher.exe並選擇屬性。在兼容性選項卡上,選中「以管理員身份運行此程序」。現在,當您嘗試直接從Windows資源管理器打開sln文件時,您將看到提示提示,並且會爲該文件打開正確版本的Visual Studio。

+0

這正是我如何設置我的環境。有沒有辦法解決這個問題? – 2010-07-29 05:51:35

+0

感謝您編輯的答案! – 2010-08-23 13:02:47

+0

謝謝!我使用這個解決方案來解決我的系統上的問題.vsix不會在我的機器上安裝VS 2013和VS 2015.我會雙擊vsix,它不會執行任何操作。在研究了手動安裝vsix文件的方法之後,我找不到方法,然後研究修復這個神奇的「visual studio版本選擇器」。我在vsix上找不到這個問題 - 但你的答案解決了它。 – 2015-07-26 18:57:10

28

顯然,「以管理員身份運行」hack在Visual Studio 2010 SP1中不再有效。費邊介紹了一種變通方法在這裏:

Getting Visual Studio 2010 SP1 to run elevated when launching .sln files

概括起來:

  1. 備份VSLauncher.exe

  2. 從Visual Studio 2010和的工具提示中,提取VSLauncher清單.exe:

mt -inputresource:"VSLauncher.exe" -out:VSLauncher.exe.manifest 
  • 改變VSLauncher.exe.manifest文件:
  • <requestedPrivileges> 
         <requestedExecutionLevel level="requireAdministrator" uiAccess="false"> 
         </requestedExecutionLevel> 
        </requestedPrivileges> 
    
  • 寫回清單到VSLauncher.exe:
  • mt -outputresource:VSLauncher.exe -manifest VSLauncher.exe.manifest 
    
    +3

    這很糟糕,現在修改了文件的簽名,Windows不顯示已知的發佈者提示,而是顯示未知的發佈者(黃色框)提示。我想這是可以的,因爲它的工作原理,我知道我可以信任它。 – 2011-08-09 03:09:01

    0

    關於這個問題的真的很煩人的事情是,你必須運行Visual Studio以管理員身份在Windows 7下掛接到IIS實例。當你這樣做的時候,他們能做的至少不是破壞.sln文件!

    該帖子由Jorge Poveda是正確的,但原來的黑客不再有效,但他的確如此。可能值得一提的是,您必須以管理員身份運行所有工作(命令提示符和文本編輯器)。

    我認爲還有更好的辦法,因爲我們的Win 7工作時以管理員身份運行,並沒有這個問題。關鍵區別在於,使用此修復程序時,管理提示會要求您打開VSLauncher.exe,但在我的工作計算機上,它要求打開devenv.exe,因此VSLauncher必須正常才能以某種方式打開VS2010。我會問我們的基礎設施人員他們是如何做到的,然後發回。

    相關問題