Friday, 26 April 2013

Posted by Prasad KM | 09:24 Categories:

Define the MSBuild Using Visual Studio

The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but it doesn't depend on Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed.
Visual Studio uses MSBuild to load and build managed projects. The project files in Visual Studio (.csproj,.vbproj, vcxproj, and others) contain MSBuild XML code that executes when you build a project by using the IDE. Visual Studio projects import all the necessary settings and build processes to do typical development work, but you can extend or modify them from within Visual Studio or by using an XML editor.
The following examples illustrate when you might run builds by using an MSBuild command line instead of the Visual Studio IDE.
  • Visual Studio isn't installed.
  • You want to use the 64-bit version of MSBuild. This version of MSBuild is usually unnecessary, but it allows MSBuild to access more memory.
  • You want to run a build in multiple processes. However, you can use the IDE to achieve the same result on projects in C++ and, starting with Visual Studio 2012, C#.
  • You want to modify the build system. For example, you might want to enable the following actions:
    • Preprocess files before they reach the compiler.
    • Copy the build outputs to a different place.
    • Create compressed files from build outputs.
    • Do a post-processing step. For example, you might want to stamp an assembly with a different version.

You can write code in the Visual Studio IDE but run builds by using MSBuild. As another alternative, you can build code in the IDE on a development computer but use an MSBuild command line to build code that's integrated from multiple developers.  

0 comments:

  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube