Search code examples
powershell.net-corecommand-line-interfacedotnet-cli

dotnet new --install shows usage information


When I try to install a new template using the following:

dotnet new --install . --name MyTemplate
or
dotnet new --install "Path" --name MyTemplate

I get the usage information:

Usage: new [options]

Options:
  -h, --help          Displays help for this command.
  -l, --list          Lists templates containing the specified name. If no name is specified, lists all templates.
  -n, --name          The name for the output being created. If no name is specified, the name of the current directory is used.
  -o, --output        Location to place the generated output.
  -i, --install       Installs a source or a template pack.
  -u, --uninstall     Uninstalls a source or a template pack.
  --nuget-source      Specifies a NuGet source to use during install.
  --type              Filters templates based on available types. Predefined values are "project", "item" or "other".
  --dry-run           Displays a summary of what would happen if the given command line were run if it would result in a template creation.
  --force             Forces content to be generated even if it would change existing files.
  -lang, --language   Filters templates based on language and specifies the language of the template to create.

I have a .template.config directory with a template.json file within.

The contents of the template.json file are something like this:

{
    "author": "My Department",
    "classifications": [
        "Solution Template"
    ],
    "name": "My Template Name",
    "identity": "My Template Identity",
    "shortName": "mytemplate",
    "tags": {
        "language": "C#"
    },
    "sourceName": "Company.Product",
    "preferNameDirectory": "true"
}

I certainly wish it would tell me what I'm doing wrong. This has worked for me in the past.


Solution

  • The way the dotnet new --install command works is a bit confusing unfortunately. The installation can be successful but the output does not make it obvious. You will get the usage information and a list of installed templates that should include your new one.

    As mentioned in the comments, there is a bug filed that aims to tidy this up.