Локальная установка инструмента 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
, но это не имело значения. Решение:
- бегать
nuget locals all -List
- найти кешированный пакет в одном из этих мест
- удалите это