You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

macOS环境下安装.NET 10 SDK后版本显示异常及.NET 10 MAUI项目报错的解决求助

macOS环境下安装.NET 10 SDK后版本显示异常及.NET 10 MAUI项目报错的解决求助

嘿,我之前也踩过类似的多版本SDK冲突的坑,给你几个一步步排查解决的方向,应该能搞定:

一、先搞定SDK版本显示异常的问题

明明装了.NET 10却优先用9.x,大概率是路径优先级或者多版本管理的问题:

  • 先查清楚当前用的dotnet是哪个版本的
    跑这行命令看看dotnet命令的实际路径:

    which dotnet
    

    官方包默认装在/usr/local/share/dotnet/,而脚本安装的SDK一般在~/.dotnet/目录下,要是输出的是旧版本的路径,那问题就出在这了。

  • 确认系统里到底装了哪些SDK
    执行这行看看已安装的SDK列表,确认10.0.101是不是在里面:

    dotnet --list-sdks
    

    如果能看到10.0.101,说明SDK确实装好了,只是系统没优先用它。

  • 调整环境变量PATH的优先级
    echo $PATH看路径顺序——系统会优先找排在前面的目录里的命令。要是旧版本的.NET路径在~/.dotnet/前面,就会先调用9.x的SDK。
    调整的话,编辑你的shell配置文件(比如~/.zshrc或者~/.bash_profile,看你用的是zsh还是bash),加一行:

    export PATH="$HOME/.dotnet:$PATH"
    

    保存后执行source ~/.zshrc(对应你的配置文件名)让设置生效,再跑dotnet --version应该就能看到10.x的版本了。

  • 给项目单独指定SDK版本(最稳妥的方式)
    要是不想改全局配置,或者只想让这个MAUI项目用.NET 10,就在项目根目录创建一个global.json文件,内容写死指定用10.0.101:

    {
      "sdk": {
        "version": "10.0.101"
      }
    }
    

    之后在项目目录下跑dotnet --version,就会强制用指定的10.x版本了。

二、解决MAUI项目的NETSDK1139报错

这个错误本质是当前用的SDK不认识net10.0-android这个目标框架,先确保上面的版本问题解决了,再做这些操作:

  • 检查项目文件的目标框架配置
    打开你的MauiDeepLink.csproj,确认TargetFramework节点写的是net10.0-android,有没有拼写错误(比如少打了0、拼错android这类低级错误)。

  • 清理缓存重新还原依赖
    在项目目录下执行这两行,清空旧的构建缓存,重新拉取.NET 10对应的依赖:

    dotnet clean
    dotnet restore
    
  • 补装MAUI Android的专属组件
    有时候SDK装好了,但MAUI的Android workload没装全,执行这行补装:

    dotnet workload install maui-android
    

    等安装完成后再尝试构建项目。

三、备选方案:彻底重装(如果上面都没搞定)

要是旧版本残留太多导致各种冲突,试试彻底清干净重装:

  1. 手动删除两个默认的.NET安装目录:/usr/local/share/dotnet/~/.dotnet/
  2. 重新运行官方下载的.NET 10 SDK安装包完成安装;
  3. dotnet --version确认版本是10.x;
  4. 最后装完整的MAUI组件:dotnet workload install maui

你可以从第一步开始一步步试,大多数情况下调整PATH或者加个global.json就能解决版本问题。要是中间哪个步骤有异常输出,或者问题还在,随时把细节发出来,我再帮你排查!

火山引擎 最新活动