You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022创建.NET6安卓新项目无法安装MvvmCross 9.0.9的问题

解决MvvmCross 9.0.9安装及项目引用兼容问题

一、修复.NET 6类库与Xamarin Android项目的引用警告

你遇到的"Project '..\XXX.Control.Core\XXX.Control.Core.csproj' targets 'net6.0'. It cannot be referenced by a project that targets 'MonoAndroid,Version=v12.0"警告,本质是Xamarin Android基于Mono runtime,无法直接引用纯标准.NET 6类库。解决步骤:

  • 编辑XXX.Core项目文件:
    1. 右键Core项目 → 选择「编辑项目文件」
    2. 将原单目标框架配置:
      <TargetFramework>net6.0</TargetFramework>
      
      替换为多目标框架配置,同时兼容标准.NET和Xamarin Android:
      <TargetFrameworks>net6.0;net6.0-android</TargetFrameworks>
      
    3. 保存后执行「还原NuGet包」,此时Core项目会生成适配两种环境的版本,Android项目引用时警告会消失。

二、解决MvvmCross 9.0.9 NuGet安装报错

结合示例项目正常、新项目报错的情况,按以下步骤排查修复:

  1. 清理NuGet缓存:
    打开Visual Studio → 工具 → NuGet包管理器 → 包管理器设置 → 常规 → 点击「清除所有NuGet缓存」,避免缓存损坏导致安装失败。
  2. 安装对应平台的MvvmCross包:
    不要直接给Android项目安装顶级MvvmCross包,而是根据项目类型选择:
    • 若使用Xamarin.Forms:安装MvvmCross.Forms
    • 若原生Xamarin Android:安装MvvmCross.Android
      Core项目保持安装MvvmCross即可,确保所有项目的MvvmCross版本统一为9.0.9。
  3. 确认项目类型与目标版本:
    确保Android项目是「Android App (Xamarin)」类型,且最低Android版本不低于API 26(Android 8.0),MvvmCross 9.x对低版本Android兼容性有限。

三、适配MvvmCross 9.x的基础配置

  • 按TipCalc示例结构,在Android项目的MainActivity中继承对应基类:原生项目继承MvxActivity,Forms项目继承MvxFormsAppCompatActivity。
  • 在Core项目中创建实现IMvxApplication接口的应用类,在Android项目的Setup类中指定该类完成MvvmCross初始化。

内容的提问来源于stack exchange,提问作者C4TSt4R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 09:05:14