Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build Visual Studio project through the command line

I am running an ASP.NET website from a Windows Server 2008 installation, and I like to edit the pages through the command line since I ssh into the server.

I installed Vim on the server so that I can edit the files easily. If I edit HTML and CSS and .aspx pages, the updates are successful. But if I want to edit source code I would have to rebuild the project. Rebuilding the project recompiles everything nicely and updates the copy on the web. This is a development server so updates to everything is fine since no one sees this server.

How can I build the project through the command line to update the source code and build on the server?

The project is written in C# and the files are all in the wwwroot folder so no file moving needs to occur after a build.

like image 420
user708774 Avatar asked Apr 14 '11 21:04

user708774


People also ask

How do I create a project using MSBuild command line?

To build a specific target of a specific project in a solution. At the command line, type MSBuild.exe <SolutionName>. sln , where <SolutionName> corresponds to the file name of the solution that contains the target that you want to execute.

How do I run a build in Visual Studio?

Build and run your code in Visual Studio To build your project, choose Build Solution from the Build menu. The Output window shows the results of the build process. To run the code, on the menu bar, choose Debug, Start without debugging. A console window opens and then runs your app.


2 Answers

Create a .bat file called: Manual_MSBuild_ReleaseVersion.bat

Put this in the .bat file.

REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727 REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5 REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319 REM set msBuildDir=C:\Program Files (x86)\MSBuild\12.0\Bin set msBuildDir=C:\Program Files (x86)\MSBuild\14.0\Bin  call "%msBuildDir%\msbuild.exe"  MySolution.sln /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=Manual_MSBuild_ReleaseVersion_LOG.log set msBuildDir= 

You can build a .sln file or a .csproj file. MySolution.sln or MyProject.csproj

See How to: Use MSBuild to Create a Web Package for more information.

You can take it one step further:

rd .\BuildResults /S /Q md .\BuildResults rd .\MyProject\Bin\Release  /S /Q  REM you'll have to find the "latest" version of where msbuild.exe resides on your machine.. here are some popular versions/locations REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v2.0.50727 REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v3.5 REM set msBuildDir=%WINDIR%\Microsoft.NET\Framework\v4.0.30319 REM set msBuildDir=C:\Program Files (x86)\MSBuild\12.0\Bin set msBuildDir=C:\Program Files (x86)\MSBuild\14.0\Bin 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\ 

That way, you remove a directory (just to make sure you get a super clean build), create it, build the solution/project and then copy the results of the build to the fresh directory.

Super fresh, every time. And if the build blows up, the \BuildResults directory is empty.

And a subtle little indicator, the datetime of the \BuildResults directory is the last time you built (or tried to build) the solution/project. Subtle, but sometimes helpful.

like image 156
granadaCoder Avatar answered Oct 17 '22 05:10

granadaCoder


Maybe with this command:

  >> devenv myproject.sln /Build "Release|x86" 

You can find devenv in "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" path.

like image 22
Andres Rojano Ruiz Avatar answered Oct 17 '22 05:10

Andres Rojano Ruiz