【问题标题】:Executing dotnet CLI tool fails on Mac (.NET 6/Mac OS Big Sur)在 Mac (.NET 6/Mac OS Big Sur) 上执行 dotnet CLI 工具失败
【发布时间】:2021-12-04 01:12:31
【问题描述】:

我开发了一个简单的 .NET 6 CLI 工具,可以将许可证头插入到任何缺少它的 .cs 文件中。我打包了该工具,将其推送到本地提要,然后使用 --global 安装到本地 $HOME/.nuget/packages/

当我执行该工具时,.net 说它找不到兼容的框架版本。

It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '6.0.0' was not found.
  - The following frameworks were found:
      3.1.15 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
      5.0.6 at [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

运行dotnet --list-runtimes 输出以下内容:

Microsoft.AspNetCore.App 6.0.0 [/Users/dan/.dotnet/6.0.0/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0 [/Users/dan/.dotnet/6.0.0/shared/Microsoft.NETCore.App]

这是我在安装 .NET 6 时提取 .net 二进制文件的位置。/usr/local/share/dotnet 中的其他位置是以前的安装。我添加了DOTNET_ROOT 环境变量,如here 所述。为什么dotnet工具找不到我的安装路径?

【问题讨论】:

    标签: macos .net-core .net-6.0


    【解决方案1】:

    因为将 .NET 6 运行时添加到其运行时列表中是全局工具开发人员的责任,

    <TargetFrameworks>netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
    

    https://github.com/obfuscar/obfuscar/blob/2.2.32/GlobalTools/GlobalTools.csproj#L5

    如果原始开发人员不能足够快地帮助您,请尝试安装它要求的运行时(例如 5.0.6),然后您就可以开始了。

    【讨论】:

    • 我是工具开发人员 - 我将目标框架设置为 net6.0
    • 那么你的包在 NuGet.org 上的什么位置?你的必须看起来类似于 FuGet 上的 Obfuscar Global Tool,fuget.org/packages/Obfuscar.GlobalTool/2.2.32,否则它将像那样失败。
    • 您无需将工具包推送到 nuget.org 即可在本地安装,只需将其推送到本地包目录即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2023-04-03
    • 2020-12-18
    • 1970-01-01
    • 2022-01-01
    • 2021-04-07
    • 2021-06-21
    相关资源
    最近更新 更多