msbuild plugin for gulp
JavaScript
Latest commit fe3b846 Feb 17, 2017 @hoffi Version bump

README.md

gulp-msbuild

NPM NPM downloads Travis Coveralls David License

msbuild plugin for gulp. Inspired by grunt-msbuild

Usage

First, install gulp-msbuild as a development dependency:

npm install --save-dev gulp-msbuild

Then, add it to your gulpfile.js:

var gulp = require("gulp");
var msbuild = require("gulp-msbuild");

gulp.task("default", function() {
    return gulp.src("./project.sln")
        .pipe(msbuild());
});

Options

If you miss any options, feel free to open an issue.

Example

var gulp = require("gulp");
var msbuild = require("gulp-msbuild");

gulp.task("default", function() {
    return gulp.src("./project.sln")
        .pipe(msbuild({
            targets: ['Clean', 'Build'],
            toolsVersion: 3.5
            })
        );
});

stdout

Show output of msbuild

Default: false

stderr

Show errors of msbuild

Default: true

errorOnFail

If the MSBuild job fails with an error, this will cause the gulp-msbuild stream to return an error thus causing the gulp task to fail. This is useful if using an automated build server such as Jenkins where a failing MSBuild should also cause the overall build job to fail.

Default: false

logCommand

Logs the msbuild command that will be executed.

Default: false

targets

Specify Build Targets

Default:

['Rebuild']

configuration

Specify Build Configuration (Release or Debug)

Default: Release

Hint: You can also specify the Build Configuration using the properties option

properties: { Configuration: 'Debug' }

toolsVersion

Specify the .NET Tools-Version

Default: 4.0

Possible Values: 1.0, 1.1, 2.0, 3.5, 4.0, 12.0, 14.0, 15.0, 'auto'

'auto' attempts to find the latest version >= 12.0, with a fallback to 4.0

This parameter can be omitted by explicitely set them to null or undefined.

architecture

Specify the Architecture

Default: Auto-detected

Possible Values: x86, x64

Example:

msbuild({ architecture: 'x86' })

properties

Specify Custom Build Properties

Default: none

Example:

msbuild({ properties: { WarningLevel: 2 } })

Hint: Property values can use gulp-util templates (e.g. "<%= file.path %>")

verbosity

Specify the amount of information to display in the build output

Default: normal

Possible Values: quiet, minimal, normal, detailed, diagnostic

maxcpucount

Specify Maximal CPU-Count to use

Default: 0 = Automatic selection

Possible Values: -1 (MSBuild Default), 0 (Automatic), > 0 (Concrete value)

nodeReuse

Specify whether to enable or disable the re-use of MSBuild nodes

Default: true = Nodes remain after the build finishes so that subsequent builds can use them

Possible Values: true (MSBuild Default), false

nologo

Suppress Startup Banner and Copyright Message of MSBuild

Default: false -> Show Startup Banner and Copyright Message

fileLoggerParameters

Specify the parameters for the MSBuild File Logger.

Default: None

Example:

msbuild({ fileLoggerParameters: 'LogFile=Build.log;Append;Verbosity=diagnostic' })

consoleLoggerParameters

Specify the parameters for the MSBuild Console Logger. (See fileLoggerParameters for a usage example)

Default: None

loggerParameters

Specify the parameters for a custom MSBuild Logger.

Default: None

Example:

msbuild({ loggerParameters: 'XMLLogger,./MyLogger.dll;OutputAsHTML' })

customArgs

Specify custom msbuild arguments, which don't have a own property in gulp-msbuild.

Default: None

Example:

msbuild({ customArgs: ['/noautoresponse'] })

MSBuild Command-Line Reference

For a more detailed description of each MSBuild Option see the MSBuild Command-Line Reference

License

MIT License