Giter Site home page Giter Site logo

grunt-msbuild's Introduction

grunt-msbuild

Build projects with MSBuild and XBuild using Grunt

Getting Started

This plugin requires Grunt ~0.4.0. In other words it should work on 0.4.0 or higher.

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-msbuild --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-msbuild');

The "msbuild" task

Overview

In your project's Gruntfile, add a section named msbuild to the data object passed into grunt.initConfig().

grunt.initConfig({
    msbuild: {
        dev: {
            src: ['ConsoleApplication5.csproj'],
            options: {
                projectConfiguration: 'Debug',
                targets: ['Clean', 'Rebuild'],
                version: 4.0,
                maxCpuCount: 4,
                buildParameters: {
                    WarningLevel: 2
                },
                nodeReuse:true,
                customArgs:[ '/noautoresponse', '/detailedsummary'],
                verbosity: 'quiet'
            }
        }
    }
});

Options

Name Description Default
projectConfiguration Configuration to pick Release
targets Targets to run Build
version .NET version 4.0
maxCpuCount Number of cores to use 1
nodeReuse If msbuild should hang around true
consoleLoggerParameters Customize Console Logger
buildParameters Additional properties
customArgs Additional args, see MSBuild Command-Line Reference
verbosity Verbosity level (quiet, minimal, normal, detailed or diagnostic) normal

For more information, see MSBuild Command-Line Reference.

MSBuild version selection

Pass a version parameter to the task options as shown above to select a specific MSBuild version.

The version number is used to look up the MSBuild executable. Old MSBuild versions are installed to the corresponding .NET Framework directory (under C:\Windows\Microsoft.NET\Framework). Recent MSBuild versions are installed to program files (C:\Program Files (x86)\MSBuild). The following version mappings are used:

Version .NET Framework directory
1.0 1.0.3705
1.1 1.1.4322
2.0 2.0.50727
3.5 3.5
4.0 4.0.30319
Version MSBuild directory
12.0 12.0
14.0 14.0

If a version is not passed, the task will attempt to locate the latest version of MSBuild. Failing that, the task will fallback to 4.0.

XBuild

If this task is run on OS X or Linux it will assume that xbuild is in the path and use that instead of MSBuild.

Contributing

All contributions welcome :) Add to the VS integration tests for any new or changed functionality if possible.

Issues and installing previous versions

If you have any problems with the latest release please log an issue at https://github.com/stevewillcock/grunt-msbuild/issues.

If you need to roll back to an earlier version you can use the following syntax to install a specific version

npm install [email protected]

Also see https://www.npmjs.org/doc/json.html#dependencies for details of how to specify a particular package version in your package.json file

Release Notes

Version Notes
2.0 This version replaces exec() with spawn() to improve memory usage and also to support coloured console output. This has been tested internally.
0.1.12 Support for MSBuild 12 added
0.1.11 ...

grunt-msbuild's People

Contributors

stevewillcock avatar whyleee avatar bertvanbrakel avatar frozzare avatar jmbeach avatar revfry avatar jgillich avatar jonnybot0 avatar lluczo avatar rdingwall avatar numo16 avatar johnnyhalife avatar romovs avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.