В моей организации имеется сложное веб-приложение, которое обычно требует открытия нескольких экземпляров Visual Studio для запуска различных решений, а затем запускает все проекты API и интерфейсов через IIS Express, а некоторые из них являются ядром .net.Для моих нужд мне на самом деле не нужно открывать VS, мне нужны только проекты API и UI, работающие в фоновом режиме
Я пытаюсь создать пакетный скрипт, который сделает это для меня.В настоящее время у меня есть он, строящий каждый проект с msbuild
, но у меня возникают проблемы с тем, чтобы заставить работать iisexpress
.
Вот что у меня есть.
SET MSBuildPath="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe"
SET IISExpressPath="%ProgramFiles(x86)%\IIS Express\IISExpress.exe"
SET ACPath=%HOMEPATH%\Workspace\MyProject
SET ConfigFile=%ACPath%\.vs\config\applicationhost.config
%MSBuildPath% "%ACPath%\Project1API\Project1API.csproj" /verbosity:quiet
%MSBuildPath% "%ACPath%\Project2API\Project2API.csproj" /verbosity:quiet
%MSBuildPath% "%ACPath%\Project3API\Project3API.csproj" /verbosity:quiet
%IISExpressPath% /site:Project1API /config:%ConfigFile%
start "" http://localhost:1106
%IISExpressPath% /site:Project2API /config:%ConfigFile%
start "" http://localhost:49418
%IISExpressPath% /site:Project3API /config:%ConfigFile%
start "" http://localhost:50244
dotnet run -p "%ACPath%\SubFolder\Project4API\Project4API.csproj"
start "" http://localhost:60711
dotnet run -p "%ACPath%\SubFolder\ProjectInterface\ProjectInterface.csproj"
start "" http://localhost:54225
Вот что я получаю в виде вывода на консоль
C:\Users\MyUserName\Workspace>"C:\Program Files (x86)\IIS Express\IISExpress.exe" /site:Project1API /config:\Users\MyUserName\Workspace\Project1API\.vs\config\applicationhost.config
Starting IIS Express ...
Successfully registered URL "http://localhost:1106/" for site "Project1API" application "/"
Successfully registered URL "https://localhost:44300/" for site "Project1API" application "/"
Registration completed for site "Project1API"
IIS Express is running.
Enter 'Q' to stop IIS Express
Кажется, проблема в том, что первый запускается в IIS Express просто отлично, но затем он зависает и не переходит к следующему.Это имеет смысл, однако мне нужен способ запустить несколько сайтов одновременно.