Подтвердить что ты не робот

Построить проект Visual Studio через командную строку

Я запускаю веб-сайт ASP.NET с установки Windows Server 2008, и мне нравится редактировать страницы через командную строку, так как я ssh на сервере.

Я установил Vim на сервере, чтобы я мог легко редактировать файлы. Если я редактирую страницы HTML и CSS и .aspx, обновления будут успешными. Но если я хочу редактировать исходный код, мне придется перестроить проект. Восстановление проекта полностью перекомпилирует и обновляет копию в Интернете. Это сервер разработки, поэтому обновления для всех прекрасны, так как никто не видит этот сервер.

Как я могу построить проект через командную строку для обновления исходного кода и сборки на сервере?

Проект написан на С#, и все файлы находятся в папке wwwroot, поэтому после сборки не должно произойти перемещение файла.

4b9b3361

Ответ 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 при создании проекта или решения.