Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Запуск нескольких инстанций разных версий VS одновременно

201  
viger2 коренной житель16.01.18 09:17
viger2
16.01.18 09:17 
Последний раз изменено 16.01.18 09:18 (viger2)

Всем привет,
на машине (win 10) инсталлированы две версии VS15 и VS17.
Для отладки, в силу ряда причин (надеюсь что временно), требуется запуск трех проектов соответственно в трех инстанциях под VS15
и одного проекта в инстанции VS17. Опять-же в силу разных причин, первые три проекта нельзя объединить в одну солюшен. (удалено цензурой)


Таким образом приходится заходить в каждую отдельную папку и открывать в ручную каждую солюшин используя "open with..." и выбирая нужную версию VS-
т.к. приходится делать это по несколько раз в день то блин... муторно (удалено цензурой)


Написал два бэч файла в первом:


cd C:\верхняя_папка_олд
Start "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "папка_олд_1\проект_олд_1.sln"
Start "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "папка_олд_2\проект_олд_2.sln"
Start "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "папка_олд_3\проект_олд_3.sln"


во втором:


cd C:\верхняя_папка_нью
Start "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" "папка_нью\проект_нью.sln"


Но блин (удалено цензурой) запускается каждый раз только та версия студии которая в данный момент была "по умолчанию"....
Что тут можно сделать?

все что вы сделаете в интернете может быть использовано против вас!
#1 
NightWatch коренной житель16.01.18 10:04
NightWatch
NEW 16.01.18 10:04 
в ответ viger2 16.01.18 09:17, Последний раз изменено 16.01.18 10:20 (NightWatch)

Попробуй использовать Microsoft Visual Studio Version Selector вместо devenv.exe.

C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VSLauncher.exe

Он вроде как старается запускать ту версию студии, которая указана в хидере sln-файла.


#2 
viger2 коренной житель16.01.18 11:00
viger2
NEW 16.01.18 11:00 
в ответ NightWatch 16.01.18 10:04
Попробуй использовать Microsoft Visual Studio Version Selector вместо devenv.exe.C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VSLauncher.exeОн вроде как старается запускать ту версию студии, которая указана в хидере sln-файла.

Спасибо. Но результат пока тот-же хотя посмотрел в хидере и версии спудий стоят там правильные....


Я тут "поигрался" :

cd "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\"
Start devenv "C:\верхняя_папка_олд\папка_олд_1\проект_олд_1.sln"
Start devenv "C:\верхняя_папка_олд\папка_олд_2\проект_олд_2.sln"
Start devenv "C:\верхняя_папка_олд\папка_олд_3\проект_олд_3.sln"

cd C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\
Start devenv "C:\верхняя_папка_нью\папка_нью\проект_нью.sln"


Вроде похоже внешне на изврат но пока работает...



все что вы сделаете в интернете может быть использовано против вас!
#3 
Murr патриот16.01.18 11:12
Murr
NEW 16.01.18 11:12 
в ответ viger2 16.01.18 09:17

Немного непонятна цель манипуляций.


Есть 3 старых проекта, которые должны быть загружены в старые Студии. Зачем? Почему именно старые?


Могу предположить - для компиляции, запуска и отладки. Но не понимаю почему именно старые.


Т.е. можно компилировать и запустить под отладчиком:

To attach the debugger from the command line, use:

VsJITDebugger.exe -p <pid>


Хотя... странно все это - если указан конкретный ехешник - именно он и должен запускаться.

Проверь, чтобы там был именно ехешник, а не какой-нибудь апп-референсе.


Как вариант - просто скопируй ехешник (и конфиg) с другим именем и запускай его.


#4 
Murr патриот16.01.18 11:22
Murr
NEW 16.01.18 11:22 
в ответ viger2 16.01.18 09:17

Да, вспомнилось...

Там вроде как есть возможность задать список параметров запуска в файле.

Если есть - то сначала загрузится Студия - затем уже будет загружатся солюшник и, скорее всего, без анализа.


Да, еще,,.

Посмотри какая версия Студии указана в солюшнике - может там 17-я заданa.

#5 
viger2 коренной житель16.01.18 13:13
viger2
NEW 16.01.18 13:13 
в ответ Murr 16.01.18 11:12

Долго обьяснять... грубо говорая есть своего рода интерпретатор со своим собственным языком для PLC который является плагином к VS15 оттуда и только оттуда может запускатся. В свою очередь HMI хоть внешне обычный и WPF под VS17 но имеет свой собственный плагин который только в VS17 может работать а под 15й нет...


Все это работает и между собой прекрасно комуницрует, но вопрос был не в этом, а в том как автоматизировать запуск одиночных проектов чтобы не долго не кликать....

все что вы сделаете в интернете может быть использовано против вас!
#6 
viger2 коренной житель16.01.18 13:20
viger2
NEW 16.01.18 13:20 
в ответ Murr 16.01.18 11:22

Кстати, как оказалось, я не совсем правлильно трактовал описание команды "старт" по наводке
отсюда https://stackoverflow.com/questions/17201507/how-to-use-th...
немного изменил бэч:


Start "" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "C:\верхняя_папка_олд\папка_олд_1\проект_олд_1.sln"
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "C:\верхняя_папка_олд\папка_олд_2\проект_олд_2.sln"
Start "" "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" "C:\верхняя_папка_олд\папка_олд_3\проект_олд_3.sln"


Start "" "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" "C:\верхняя_папка_нью\папка_нью\проект_нью.sln"

все что вы сделаете в интернете может быть использовано против вас!
#7 
Murr патриот16.01.18 13:59
Murr
NEW 16.01.18 13:59 
в ответ viger2 16.01.18 13:13

Теперь понятно зачем тебе специфическая версия Студии и нет смысла предлагать обходные варианты по проектам.


Здесь список используемых заголовков солюшников.

https://gist.github.com/JamesSkemp/bbe17351ecdf6b1d6e07

Проверь свои солюшники на предмет нужной версии и потри *.suo (юзерские спеки). (см. в .vs folder)

Полной спеки на *.SLN Я пока не встречал.

но можно слегка поредактировать имеющийся *.sln на предмет связи с версией Студии.

Правда максимальную версию Студии Я нигде не встречал.


Тебе так же стоит посмотреть содержимое проектов - там есть указание в какой Студии он должен открываться

<Project ToolsVersion="14.0" DefaultTargets="Build"


Хммм... ты при запуске указал полное имя ехешника? Если опустил расширение - запустится devenv.com

Как он работает - Я не знаю.

Самое простое - скопируй devenv.exe и запускай копию.


Хи-хи... Сейчас только что проверил - сделал два солюшника - один 2015 (14) и второй 2017(15)

и просто в командной строке указал солюшник - без указания девенв.ехе - запустились соответствующие

Студии...

C:\Users\Me>"C:\0\VS2017Test\ClassLibrary1.sln"

#8 
Murr патриот16.01.18 13:59
Murr
NEW 16.01.18 13:59 
в ответ viger2 16.01.18 09:17

P.S. Win7...

#9 
Murr патриот16.01.18 16:05
Murr
NEW 16.01.18 16:05 
в ответ Murr 16.01.18 13:59

Да, забыл... в солюшнике первая строка - пустая. Если не пустая - запускается последняя/дефолтная Студия...

#10