0

我按照教程创建了一个 dotnet 工具在本地安装它。满意后,我尝试将命令的名称从 更改botsaysomething-else。不幸的是,它总是使用命令 name 安装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"
      ]
    }
  }
}
4

1 回答 1

1

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

  1. nuget locals all -List
  2. 在这些位置之一中找到缓存的包
  3. 删除它
于 2020-03-05T09:22:38.197 回答