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

UWP项目添加到Xamarin后提示不兼容netstandard2.0如何解决?

Xamarin.Forms解决方案引入UWP项目报错处理方案

错误根因

该报错本质是项目引用逻辑错误:独立UWP项目的目标框架为uap10.0.17763,与NetStandard2.0、MonoAndroid11.0框架天生不兼容,不能被Xamarin.Forms共享项目、Android项目直接引用。

分场景处理方案

场景1:需要给现有Xamarin.Forms应用扩展UWP端支持

不要直接添加独立UWP项目,按以下步骤调整:

  • 移除所有错误引用:右键NetStandard2.0共享项目、Android项目,分别进入「引用」管理页,删除对UWP.Project的引用记录
  • 右键解决方案 → 新建项目,选择「空白应用(通用 Windows)」,项目的目标版本、最低版本都设置为10.0.17763及以上
  • 给新建的UWP项目安装Xamarin.Forms NuGet包,版本必须和共享项目、Android项目中已安装的Xamarin.Forms版本完全一致
  • 右键UWP项目 → 添加引用,勾选你的Xamarin.Forms NetStandard共享项目
  • 修改UWP项目的App.xaml.cs初始化逻辑:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
    Frame rootFrame = Window.Current.Content as Frame;
    if (rootFrame == null)
    {
        rootFrame = new Frame();
        rootFrame.NavigationFailed += OnNavigationFailed;
        // 初始化Xamarin.Forms
        Xamarin.Forms.Forms.Init(e);
        Window.Current.Content = rootFrame;
    }
    if (rootFrame.Content == null)
    {
        rootFrame.Navigate(typeof(MainPage), e.Arguments);
    }
    Window.Current.Activate();
}
  • 修改UWP项目MainPage.xaml的基类,从原生Page改为Xamarin.Forms.Platform.UWP.WindowsPage,重新编译即可

场景2:仅需两个项目在解决方案中共存、无需互相调用

直接移除NetStandard共享项目、Android项目对UWP.Project的所有引用,两个项目可以独立编译运行,不会再触发兼容报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:06:03