【问题标题】:Error installing .NET Core global tools: "Could not find a part of the path..."安装 .NET Core 全局工具时出错:“找不到路径的一部分...”
【发布时间】:2020-06-09 16:58:31
【问题描述】:

.NET Core 全局工具在某些 Windows 计算机上安装失败并出现此错误:

Failed to install tool package 'amazon.lambda.tools': Could not find a part of the path 'C:\Users\myUser\.dotnet\tools\.store\.stage\xxx.yyy\amazon.lambda.tools'.
Tool 'amazon.lambda.tools' failed to install. This failure may have been caused by:

* You are attempting to install a preview release and did not use the --version option to specify the version.
* A package by this name was found, but it was not a .NET Core tool.
* The required NuGet feed cannot be accessed, perhaps because of an Internet connection problem.
* You mistyped the name of the tool.

For more reasons, including package naming enforcement, visit https://aka.ms/failure-installing-tool

以上示例尝试安装 Amazon.Lambda.Tools;但其他常用工具(例如 dotnetsay)给出相同的结果。

我只在一个环境中观察到这一点:我的开发团队将其用作 TFS 2017 构建代理的 Windows Server 2016 虚拟机。该服务器安装了 Visual Studio 2017 和 2019,以及 Visual Studio 2017 和 2019 构建工具。服务器不在代理后面。同一 VLAN 上的其他 Windows Server 2016 虚拟机能够成功执行安装。

C:\Users\myUser>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.101
 Commit:    b377529961

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.14393
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.101\

Host (useful for support):
  Version: 3.1.1
  Commit:  a1388f194c

.NET Core SDKs installed:
  3.1.101 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

以下不成功:

  • 以管理员身份运行。
  • 以各种帐户运行(有些用户名中有“.”,有些没有)。
  • 卸载 .NET Core SDK/运行时、Visual Studio,然后自行安装 .NET Core 并尝试安装工具。
  • 回滚到 .NET Core 3.1.101(最初的尝试是在 3.1.102 上)。
  • 从安装成功的计算机上复制 .nupkg 并将其用作--add-source 的文件参数(我知道,这很远)。
  • 在安装期间指定特定的--version

我已经确定了一种解决方法:将 C:\Users\myUser.dotnet\tools 从安装成功的计算机复制到安装失败的计算机上的相同位置。这样做允许使用全局工具,就好像安装成功一样。当然,这不是最佳解决方案,但我会提到它,以防它有助于更​​好地理解潜在问题。

我不知道dotnet tool install 命令的内部工作原理,但我可以很容易地想象“找不到路径的一部分......”是一种方法的失败,它期望一些下载的内容是放在一个临时文件夹中,但发现情况并非如此。如果这是真的,那么这可能是(如错误所示)下载失败的结果......日志只是没有告诉我它未能下载什么资源,而且我无法找到 .nupkg用于 Github 上的 Amazon.Lambda.Tools(尝试手动指定 URL)。

此问题是否有已知的解决方案?如果没有,那么我是否可以采取任何进一步的步骤来诊断工具安装?我确信报告的错误“找不到路径的一部分...”只是我通过控制台看不到的错误的副作用。

【问题讨论】:

  • 谢谢。我用另一台电脑安装dotnet工具,复制`c:\Users\lindexi\.dotnet\tools`文件夹修复。

标签: c# visual-studio .net-core aws-lambda


【解决方案1】:

我在安装Amazon.Lambda.Tools 时遇到了同样的问题,但指定软件包版本为我解决了这个问题:

dotnet tool install --global Amazon.Lambda.Tools --version 4.1.0

运行以下命令时出现与您报告的相同的错误

dotnet tool install --global Amazon.Lambda.Tools

为确保您安装的是此软件包的最新版本,请检查 nuget 提要here

【讨论】:

    【解决方案2】:

    我在全新的 Windows 安装上运行命令时遇到了这个问题。

    dotnet tool install --global Amazon.Lambda.Tools
    

    原来错误是明确退出的:

    错误 NU1101:无法找到包 amazon.lambda.tools。源中不存在具有此 ID 的包:Microsoft Visual Studio 离线包

    它只是在 Microsoft Visual Studio Offline Packages 存储库中寻找包。

    我运行了 Visual Studio 2019,然后从那里检查了 nuget 的 Package Sources 设置,然后再次运行该命令,它安装得很好。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。经过多次迭代,我发现我的 MSBuildSDKsPath 是错误的。是 C:\Program Files\dotnet\sdk\5.0.400 但应该是 C:\Program Files\dotnet\sdk\5.0.400\Sdks 。修复并重新启动后,我可以安装工具

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 2017-09-10
        • 1970-01-01
        相关资源
        最近更新 更多