本地安装dotnet工具使用旧命令名称

问题描述 投票:0回答:1

我已按照教程学习create a dotnet toolinstall it locally。满意后,我尝试将命令的名称从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"
      ]
    }
  }
}
c# .net-core csproj dotnet-tool
1个回答
0
投票

确定,找到答案。该软件包是从缓存中安装的。我曾尝试将--no-cache参数提供给dotnet tool install,但没有任何区别。解决方案是:

  1. 运行nuget locals all -List
  2. 在这些位置之一中找到缓存的程序包
  3. 删除
© www.soinside.com 2019 - 2024. All rights reserved.