Cake.DotNetLocalTools.Module 1.0.2

.NET Standard 2.0
NuGet\Install-Package Cake.DotNetLocalTools.Module -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package Cake.DotNetLocalTools.Module --version 1.0.2
<PackageReference Include="Cake.DotNetLocalTools.Module" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cake.DotNetLocalTools.Module --version 1.0.2
#r "nuget: Cake.DotNetLocalTools.Module, 1.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
#module nuget:?package=Cake.DotNetLocalTools.Module&version=1.0.2


A Cake Module that extends Cake with functionality to install tools from a .NET tool manifest.

You can read the latest documentation at

Table of Contents


Cake allows installing .NET CLI Tools through the #tool preprocessor directies and Cake.Frosting's InstallTool method (see Installing and using tools for details).

.NET Core 3.1 introduced the concept of "local tools". Local tools are listed in a "tool manifest" (dotnet-tools.json) and run through the dotnet command.

Cake.DotNetLocalTools.Module brings these two concepts together. It reads a list of tools from one or more tool manifests and install's them through Cake's tool infrastructure. This way, you can easily use the tools from Cake while still having the tools and their versions described in a common format.


Cake Script

To use the module in a Cake script file, perform the following steps

  1. Add the preprocessor directive to install the module

    #module nuget:?package=Cake.DotNetLocalTools.Module&version=VERSION
  2. Install tools using the #tool preprocessor directive and a uri scheme of toolmanifest:

    #tool "toolmanifest:?package=.config/dotnet-tools.json"


To use the module in a Cake.Frosting project, perform the following steps.

  1. Install the module package by adding a package reference to your project

    <PackageReference Include="Cake.DotNetLocalTools.Module" Version="VERSION" /> 
  2. Register LocalToolsModule with the Cake Host:

    using Cake.DotNetLocalTools.Module;
    public static int Main(string[] args)
        return new CakeHost()
            // Register LocalToolsModule
            // Continue with the standard setup of a Cake.Frosting project
  3. You can not install tools using either the InstallToolsFromManifest() method or using InstallTools() with a uri scheme of toolmanifest:

    using Cake.DotNetLocalTools.Module;
    public static int Main(string[] args)
        return new CakeHost()
            // Register LocalToolsModule
            // Install Tools (both install options are equivalent)
            .InstallTools(new Uri("tool-manifest:?package=.config/dotnet-tools.json"))       
            // Continue with the standard setup of a Cake.Frosting project


Installing tools from a tool manifest is equivalent to installing the tools listed in the manifest using a #tool preprocessor directive or through InstallTool().

For example, a tool manifest at .config/dotnet-tools.json could look like this:

  "version": 1,
  "isRoot": true,
  "tools": {
    "nbgv": {
      "version": "3.4.231",
      "commands": [
    "dotnet-format": {
      "version": "5.1.225507",
      "commands": [
    "dotnet-reportgenerator-globaltool": {
      "version": "4.8.12",
      "commands": [

Tools from the manifest can be installed using

#tool "toolmanifest:?package=.config/dotnet-tools.json"

This is equivalent to installing each tool individually:

#tool "dotnet:?package=nbgv&version=3.4.231"
#tool "dotnet:?package=dotnet-format&version=5.1.225507"
#tool "dotnet:?package=dotnet-reportgenerator-globaltool&version=4.8.12"


Cake.DotNetLocalTools.Module is licensed under the MIT License.

For details see

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Cake.DotNetLocalTools.Module:

Repository Stars
From git log to SemVer in no time
Version Downloads Last updated
1.0.2 7,795 10/13/2021