我已经按照教程创建了一个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"
]
}
}
}
好的,找到了答案。正在从缓存中安装程序包。我曾尝试将--no-cache
参数提供给dotnet tool install
,但没有什么不同。解决方案是:
- 运行
nuget locals all -List
- 在其中一个位置查找缓存的包
- 删除它