
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
grunt-msbuild
Advanced tools
Build projects with MSBuild and XBuild using Grunt
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');
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
}
}
}
});
Name | Description | Default |
---|---|---|
projectConfiguration | Configuration to pick | Release |
targets | Targets to run | Build |
maxCpuCount | Number of cores to use | 1 |
nodeReuse | If msbuild should hang around | true |
failOnError | If this grunt-msbuild should fail on error | true |
consoleLoggerParameters | Customize Console Logger | |
visualStudioVersion | Set VisualStudio version property to a special version i.e. 15 | |
platform | Platform msbuild should use i.e. "Win32" | |
buildParameters | Additional properties | |
customArgs | Additional args, see MSBuild Command-Line Reference | |
verbosity | Verbosity level (quiet, minimal, normal, detailed or diagnostic) | normal |
nologo | If msbuild should hide logo | true |
msbuildPath | Path to MSBuild.exe. Required if inferMsbuildPath is not set to true. | |
inferMsbuildPath | If the msbuildpath should be inferred using vswhere. Overrides the given msbuildPath value. | false |
vswhereProducts | Ignored 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. | * |
vswhereVersion | Ignored 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.
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)
All contributions welcome :) Add to the VS integration tests for any new or changed functionality if possible.
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
Version | Notes |
---|---|
1.2 | Added options vswhereProduct & vswhereVersion. Switched from vswhere 2.6.7 to 2.8.4. |
1.0 | This version replaces the version option with msbuildPath to support MSBuild versions moving forward from Visual Studio 2019. |
0.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 | ... |
FAQs
Build projects with MSBuild and XBuild using Grunt
The npm package grunt-msbuild receives a total of 484 weekly downloads. As such, grunt-msbuild popularity was classified as not popular.
We found that grunt-msbuild demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
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.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.