Локальная установка инструмента do tnet использует старое имя команды - PullRequest
0 голосов
/ 05 марта 2020

Я следовал инструкциям, чтобы создать инструмент do tnet и установить его локально . После того, как я был удовлетворен, я попытался изменить имя команды с 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>

И do tnet -инструмент. json это:

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

1 Ответ

0 голосов
/ 05 марта 2020

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

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