Compiled text-based embeddable pure batch-scripts (no powershell or dotnet-cli) for searching of available MSBuild tools. VS2017+ (does not require local vswhere.exe [?]), VS2015, VS2013, VS2010, other versions from .NET Framework. Contains gnt.core for work with NuGet packages and more...
Download: Latest stable batch-script [ hMSBuild ]
- /releases [ latest ]
- nightly builds (
/artifacts
page) But remember: It can be unstable or not work at all. Use this for tests of latest changes.- Artifacts older than 6 months you can also find as
Pre-release
with mark๐ฒ Nightly build
on GitHub Releases page.
- Artifacts older than 6 months you can also find as
because you need simple access to msbuild tools and more...
Based on GetNuTool core https://github.com/3F/GetNuTool
- Initially, it was part of this tool like a small msbuild-helper. Then, it has been extracted into the new project after major changes from MS for their products. Now we have more support of all this.
Today's hMSBuild provides flexible way to access to msbuild tools for any type of your projects. Just specify what you need in different environments. Look at #Algorithm of searching below.
Just a single batch file and no more for your happy build.
Combine this with your other available scripts or just type hMSBuild {arguments to original msbuild}
and have fun.
Start with hMSBuild -h
-
Versions from VS2017+
- Full support even if you still have no any local
vswhere.exe
[?]
- Full support even if you still have no any local
-
Versions from VS2015, VS2013
-
Versions from .NET Framework, including for VS2010
v2.0+
-
Versions:
- VS2017+ โ VS2015, VS2013, ... โ .netfx
-
Architectures (configure via
-notamd64
key):- x64 โ x32
-
Priorities (configure via
-vsw-priority
and-stable
keys). Specific workload components in more priority than pre-release products. See Issue #8- Stable releases with selected workload components (C++ etc) โ Same via beta releases if allowed.
- Stable releases with any available components โ Same via beta releases if allowed.
Usage is same as it would be same for msbuild. But you also have an additional keys to configure hMSBuild and to access to GetNuTool.
hMSBuild - 2.0.0
Copyright (c) 2017-2018 Denis Kuzmin [ [email protected] ] :: github.com/3F
Distributed under the MIT license
https://github.com/3F/hMSBuild
Usage: hMSBuild [args to hMSBuild] [args to msbuild.exe or GetNuTool core]
------
Arguments:
----------
-no-vs - Disable searching from Visual Studio.
-no-netfx - Disable searching from .NET Framework.
-no-vswhere - Do not search via vswhere.
-vsw-priority {IDs} - Non-strict components preference: C++ etc.
Separated by space: https://aka.ms/vs/workloads
-vsw-version {arg} - Specific version of vswhere. Where {arg}:
* 1.0.50 ...
* Keywords:
`latest` - To get latest remote version;
`local` - To use only local versions;
(.bat;.exe /or from +15.2.26418.1 VS-build)
-no-cache - Do not cache vswhere for this request.
-reset-cache - To reset all cached vswhere versions before processing.
-notamd64 - To use 32bit version of found msbuild.exe if it's possible.
-stable - It will ignore possible beta releases in last attempts.
-eng - Try to use english language for all build messages.
-GetNuTool {args} - Access to GetNuTool core. https://github.com/3F/GetNuTool
-only-path - Only display fullpath to found MSBuild.
-force - Aggressive behavior for -vsw-priority, -notamd64, etc.
-debug - To show additional information from hMSBuild.
-version - Display version of hMSBuild.
-help - Display this help. Aliases: -help -h
------
Flags:
------
__p_call - Tries to eliminate the difference for the call-type invoking hMSBuild.bat
--------
Samples:
--------
hMSBuild -notamd64 -vsw-version 1.0.50 "Conari.sln" /t:Rebuild
hMSBuild -vsw-version latest "Conari.sln"
hMSBuild -no-vswhere -no-vs -notamd64 "Conari.sln"
hMSBuild -no-vs "DllExport.sln"
hMSBuild vsSolutionBuildEvent.sln
hMSBuild -GetNuTool -unpack
hMSBuild -GetNuTool /p:ngpackages="Conari;regXwild"
hMSBuild -no-vs "DllExport.sln" || goto bx
Copyright (c) 2017-2018 Denis Kuzmin <[email protected]> :: github.com/3F