Построить проект Visual Studio через командную строку
Я запускаю веб-сайт ASP.NET с установки Windows Server 2008, и мне нравится редактировать страницы через командную строку, так как я ssh на сервере.
Я установил Vim на сервере, чтобы я мог легко редактировать файлы. Если я редактирую страницы HTML и CSS и .aspx, обновления будут успешными. Но если я хочу редактировать исходный код, мне придется перестроить проект. Восстановление проекта полностью перекомпилирует и обновляет копию в Интернете. Это сервер разработки, поэтому обновления для всех прекрасны, так как никто не видит этот сервер.
Как я могу построить проект через командную строку для обновления исходного кода и сборки на сервере?
Проект написан на С#, и все файлы находятся в папке wwwroot
, поэтому после сборки не должно произойти перемещение файла.
Ответы
Ответ 1
Создайте файл .bat, который называется:
Manual_MSBuild_ReleaseVersion.bat
Поместите это в .bat файл.
REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
call %msBuildDir%\msbuild.exe MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
Вы можете создать файл .sln или файл .csproj.
MySolution.sln или MyProject.csproj
См. Как использовать MSBuild для создания веб-пакета для получения дополнительной информации.
Вы можете сделать это еще на один шаг:
rd .\BuildResults /S /Q
md .\BuildResults
rd .\MyProject\Bin\Release /S /Q
REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5
set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319
call %msBuildDir%\msbuild.exe MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log
set msBuildDir=
XCOPY .\MyProject\Bin\Release\*.* .\BuildResults\
Таким образом вы удаляете каталог (просто убедитесь, что вы получите суперчистую сборку), создайте его, создайте решение/проект и скопируйте результаты сборки в новый каталог.
Супер свежий, каждый раз. И если сборка взрывается, каталог \BuildResults пуст.
И тонкий маленький индикатор, datetime каталога \BuildResults - это последний раз, когда вы построили (или попытались построить) решение/проект. Тонкие, но иногда полезные.
Ответ 2
Я использовал модификацию ответа от @granadaCoder выше.
Для версии .NET версии 4.5 в каталоге
нет соответствующего каталога компоновки,
% WINDIR%\Microsoft.NET\Framework\
и использование MSBuild для старой структуры не позволит вам компилировать новые конструкции, такие как интерполированные строки.
Чтобы обойти это, вам нужно установить последнюю версию MS Build Tools
(2015 в настоящее время) и использовать MSBuild.exe
в
% ProgramFiles (x86)%\MSBuild\14.0\Bin
Ответ 3
Возможно, с помощью этой команды:
>> devenv myproject.sln /Build "Release|x86"
Вы можете найти devenv в пути "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe".
Ответ 4
Установите .NET SDK и используйте инструмент командной строки MsBuild.exe. Это то, что использует Visual Studio при создании проекта или решения.