Skip to content

Enable plugin support in dotnet tool #29268

@aetos382

Description

@aetos382

Is your feature request related to a problem?

Enable plugin support for dotnet tools.

Describe the solution you'd like

Some tools that work with NodeJS (e.g. webpack) support a number of plugins.
And npm allows to install both the CLI tool and plugins for the tool with npm install.
I think it would be useful to support a similar experience with the dotnet tool.

For example, I propose specification that dotnet-tools.json list the NuGet packages to be restored along with the tool, as follows.
The packages listed in additionalPackages need only be deployed so that the assemblies in them can be loaded from the tool, and the communication mechanism between the tool and the plugin would not need to be defined by the .NET SDK.

{
  "version": 2,
  "isRoot": true,
  "tools": {
    "microsoft.botsay": {
      "version": "2.0.0",
      "commands": [
        "botsay"
      ],
      "additionalPackages": [
        {
          "microsoft.botsay.plugin.XXX": {
            "version": "1.2.3"
          }
        },
        {
          // and other plugins
        }
      ]
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions