Я только что обновился с Visual Studio 2017 до Visual Studio 2019 (аплодисменты). Все хорошо, и у меня работают обе среды, но...
У меня есть пакетный файл, который я использую для запуска VS 2017 с помощью Windows START и множества других программ (скрипач, почтальон и т. д.). Когда я изменил путь в командном файле для использования Visual Studio 2019, он все равно загружает Visual Studio 2017.
Ни одна из сред Visual Studio не находится на моем пути, и когда я запускаю команду из командной строки
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe"
он загружает Visual Studio 2019 (ура), но когда я использую команду START, он загружает Visual Studio 2017.
Я на компьютере с Windows 10 с включенными командными расширениями.
START /d "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\" devenv.exe
Кто-нибудь знает, почему команда НАЧАЛО загружает vs2017?
Спасибо
start /D "somepath" somexecutable
не запускает исполняемый файл, расположенный в некотором пути, он просто устанавливает текущий рабочий каталог в какой-либо путь.
Что вы хотите, так это:
START /D "somepath" "somepath/somexecutable"
который в вашем случае расширяется до
START /d "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\" "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe"
Но даже если вы думаете, что devenv
не на вашем пути, это должно быть так или иначе. Чтобы найти, где он находится, попробуйте
where devenv
Вы можете быстро проверить это самостоятельно, скопировав c:\windows\system32\notepad.exe в C:\mydir\calc.exe . Если вы запустите start /d "C:\mydir" calc.exe
, он запустит калькулятор по пути, а не по пути C:\mydir.
Спасибо СтефанМ. Вы разгадали большую часть загадки и помогли мне найти недостающую часть, потому что devenv не стоит на моем пути. Что я обнаружил и думаю, что произошло, так это то, что у меня есть настройка Visual Studio для загрузки последнего файла SLN. И в проводнике у меня есть файлы SLN, которые открываются с VS2017 (например, введите: c:\>foo.sln, и он откроется в vs2017). Используя ваше предложение, окна спросили меня, хочу ли я использовать VS2017 для открытия или VS2019. Выбираем VS2019 и все работает.!
Поместите пустой аргумент в кавычках, например
start "" /D ...
, посколькуstart
может неожиданно интерпретировать первую строку в кавычках как заголовок окна...