Локальная установка инструмента dotnet использует старое имя команды

Я выполнил инструкции по созданию инструмента dotnet и установил его локально. После того, как я был удовлетворен, я попытался изменить имя команды сbotsay к something-else. К сожалению, он всегда устанавливается с именем командыbotsay. Даже если я убегуdotnet tool uninstall, удалите проект и начните заново, он продолжает использовать имя из учебника. Единственный способ изменить это - изменить название проекта на другое. Почему используется старое имя команды и как его изменить?

Структура каталогов:

sources
--My.Project.Name
----nupkg
------My.Project.Name.1.0.0.nupkg
--.config
----dotnet-tools.json

Мой csproj:

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp3.1</TargetFramework>

        <PackAsTool>true</PackAsTool>
        <ToolCommandName>something-else</ToolCommandName>
        <PackageOutputPath>./nupkg</PackageOutputPath>
    </PropertyGroup>

</Project>

И dotnet-tools.json:

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "my-project-name": {
      "version": "1.0.0",
      "commands": [
        "botsay" <--- I want this to be "something-else"
      ]
    }
  }
}

1 ответ

Решение

ОК, нашел ответ. Пакет устанавливался из кеша. Я пытался поставить--no-cache аргумент dotnet tool install, но это не имело значения. Решение:

  1. бегать nuget locals all -List
  2. найти кешированный пакет в одном из этих мест
  3. удалите это
Другие вопросы по тегам