Селектор версий Visual Studio не открывается - PullRequest
32 голосов
/ 22 июля 2010

Visual Studio 2008 и 2010 установлены параллельно, но попытка открыть файл sln 2008 или 2010 ничего не дает. Песочные часы включаются примерно на секунду, а затем уходят и ничего не открывается.

Я где-то читал, чтобы связать файл sln с VS напрямую, но я не могу пойти по этому пути, потому что не хочу, чтобы решения 2008 года открывались с 2010 года. Кто-нибудь знает, в чем может быть проблема и как ее исправить?

Ответы [ 3 ]

40 голосов
/ 28 июля 2010

Если вы работаете в Vista или Windows 7 с включенным UAC и на вкладке «Совместимость» для exe-файла Visual Studio (devenv.exe) установлен флажок «Запускать эту программу от имени администратора», вы получите такое поведение при попыткеоткройте файл sln прямо из проводника Windows.

Одно из решений - перейти к "% ProgramFiles% \ Common Files \ Microsoft Shared \ MSEnv" или ( "% ProgramFiles (x86)% \ Common Files \ Microsoft Shared \MSEnv " для 64-разрядных систем) и щелкните правой кнопкой мыши VSLauncher.exe и выберите Свойства .На вкладке Совместимость установите флажок « Запускать эту программу от имени администратора ».Теперь, когда вы попытаетесь открыть файл sln непосредственно из проводника Windows, вы получите запрос на повышение прав, и он откроет правильную версию Visual Studio для этого файла.

29 голосов
/ 21 июня 2011

Очевидно, что взломать «запуск от имени администратора» больше не работает в Visual Studio 2010 с пакетом обновления 1 (SP1). Фабиан описывает обходной путь здесь:

Как запустить Visual Studio 2010 SP1 с повышенными правами при запуске файлов .sln

Подводя итог:

  1. Резервная копия VSLauncher.exe

  2. Из командной строки Visual Studio 2010 Tools извлеките манифест из 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
0 голосов
/ 03 февраля 2012

Действительно досадная вещь в этой проблеме заключается в том, что вам нужно запустить Visual Studio от имени администратора в Windows 7, чтобы подключиться к экземпляру IIS. Минимум, что они могли сделать, это не сломать файлы .sln, когда вы это сделаете!

Пост Хорхе Поведа правильный, хотя оригинальный хак больше не работает, а его работает. Возможно, стоит упомянуть, что вы должны запустить все как администратор, чтобы он работал (командная строка и текстовый редактор).

Я думаю, что есть лучший способ, поскольку у нас есть Win 7 на работе, которая работает от имени администратора и не имеет этой проблемы. Ключевое отличие состоит в том, что с этим исправлением приглашение администратора просит вас открыть VSLauncher.exe, но на моей рабочей машине оно просит открыть devenv.exe, поэтому VSLauncher должен быть в порядке, чтобы каким-то образом открыть VS2010. Я спрошу наших ребят из инфраструктуры, как они это сделали, и отправлю ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...