Socket
Socket
Sign inDemoInstall

grunt-msbuild

Package Overview
Dependencies
1
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    grunt-msbuild

Build projects with MSBuild and XBuild using Grunt


Version published
Maintainers
1
Created

Readme

Source

grunt-msbuild

Build projects with MSBuild and XBuild using Grunt

Getting Started

This plugin targets Grunt ^1.3. While it may work on older versions it's generally good practice to always use an up to date version of Grunt!

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'],
                maxCpuCount: 4,
                buildParameters: {
                    WarningLevel: 2
                },
                nodeReuse:true,
                customArgs:[ '/noautoresponse', '/detailedsummary'],
                verbosity: 'quiet',
                msbuildPath: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\MSBuild\\Current\\Bin\\amd64\\MSBuild.exe',
                inferMsbuildPath:false
            }
        }
    }
});

Options

NameDescriptionDefault
projectConfigurationConfiguration to pickRelease
targetsTargets to runBuild
maxCpuCountNumber of cores to use1
nodeReuseIf msbuild should hang aroundtrue
failOnErrorIf this grunt-msbuild should fail on errortrue
consoleLoggerParametersCustomize Console Logger
visualStudioVersionSet VisualStudio version property to a special version i.e. 15
platformPlatform msbuild should use i.e. "Win32"
buildParametersAdditional properties
customArgsAdditional args, see MSBuild Command-Line Reference
verbosityVerbosity level (quiet, minimal, normal, detailed or diagnostic)normal
nologoIf msbuild should hide logotrue
msbuildPathPath to MSBuild.exe. Required if inferMsbuildPath is not set to true.
inferMsbuildPathIf the msbuildpath should be inferred using vswhere. Overrides the given msbuildPath value.false
vswhereProductsIgnored if inferMsbuildPath is false. Parameter of 'products' option of vswhere.exe. One or more product IDs to find. Defaults to Community, Professional, and Enterprise. Specify "*" by itself to search all product instances installed. See https://aka.ms/vs/workloads for a list of product IDs.*
vswhereVersionIgnored if inferMsbuildPath is false. Parameter of 'version' option of vswhere.exe. A version range for instances to find. Example: [15.0,16.0) will find versions 15.*.

For more information, see MSBuild Command-Line Reference.

MSBuild version selection

If inferMsbuildPath is set to true, grunt-msbuild will try to infer the msbuildpath using vswhere.exe. Otherwise, you should set msbuildPath option. msbuildPath is used to target your msbuild version.

Example values for msbuildPath:

C:\\Program Files (x86)\\MSBuild\\MSBuild\\<VERSION>\\Bin\\amd64\\MSBuild.exe

C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\<YOUR_EDITION>\\MSBuild\\15.0\\Bin\\amd64\\MSBuild.exe

C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\<YOUR_EDITION>\\MSBuild\\Current\\Bin\\amd64\\MSBuild.exe

msbuild  (This will work if msbuild is available on the path for example)

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 grunt-msbuild@0.1.12

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

VersionNotes
1.2Added options vswhereProduct & vswhereVersion. Switched from vswhere 2.6.7 to 2.8.4.
1.0This version replaces the version option with msbuildPath to support MSBuild versions moving forward from Visual Studio 2019.
0.2.0This version replaces exec() with spawn() to improve memory usage and also to support coloured console output. This has been tested internally.
0.1.12Support for MSBuild 12 added
0.1.11...

Keywords

FAQs

Last updated on 16 Apr 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc