Visual Studio版本选择器无法打开

时间:2010-07-21 22:35:10

标签: visual-studio visual-studio-2010 visual-studio-2008

我已经并排安装了Visual Studio 2008和2010,但尝试打开2008或2010 sln文件却什么都没有。小时玻璃开启大约一秒钟然后它消失了,没有任何东西被打开。

我读到了某个地方直接将sln文件与VS联系起来,但我无法走这条路,因为我不希望2008年的解决方案在2010年开放。有谁知道问题可能是什么以及如何修复它? / p>

3 个答案:

答案 0 :(得分:39)

如果您在启用了UAC的情况下运行Vista或Windows 7并且在Visual Studio exe(devenv.exe)的“兼容性”选项卡上选中了“以管理员身份运行此程序”,则在尝试执行此操作时会出现此行为直接从Windows资源管理器中打开sln文件。

一种解决方案是转到“%ProgramFiles%\ Common Files \ Microsoft Shared \ MSEnv”或(“%ProgramFiles(x86)%\ Common Files \ Microsoft Shared \ MSEnv” (对于64位系统)并右键单击 VSLauncher.exe 并选择属性。在兼容性标签上,选中“以管理员身份运行此程序”。现在,当您尝试直接从Windows资源管理器打开sln文件时,您将获得提升提示,它将为该文件打开正确版本的Visual Studio。

答案 1 :(得分:29)

显然,“以管理员身份运行”hack在Visual Studio 2010 SP1中不再起作用。 Fabian在此描述了一种解决方法:

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

总结一下:

  1. 备份VSLauncher.exe

  2. 在Visual Studio 2010工具提示符中,从VSLauncher.exe中提取清单:

  3.     mt -inputresource:"VSLauncher.exe" -out:VSLauncher.exe.manifest
    
    1. 更改VSLauncher.exe.manifest文件:
    2.     <requestedPrivileges>
             <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
             </requestedExecutionLevel>
          </requestedPrivileges>
      
      1. 将清单写回VSLauncher.exe:
      2.     mt -outputresource:VSLauncher.exe -manifest VSLauncher.exe.manifest
        

答案 2 :(得分:0)

关于此问题的真正令人烦恼的是,您必须在Windows 7下以管理员身份运行Visual Studio才能附加到IIS实例。他们做的最少的事情就是当你这样做时不会破坏.sln文件!

Jorge Poveda 的帖子虽然是正确的,但最初的黑客不再有效,但他的确如此。可能值得一提的是,您必须以管理员身份运行所有内容(命令提示符和文本编辑器)。

我认为有一种更好的方法,因为我们在工作中使用Win 7作为管理员运行并且没有这个问题。关键区别在于,通过此修复,管理员提示会要求您打开VSLauncher.exe,但在我的工作机器上,它要求打开devenv.exe,因此VSLauncher必须可以以某种方式打开VS2010。我会问我们的基础设施人员他们是如何做到这一点并回复的。