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

Xamarin.Forms新建ContentPage出现"missing assembly"错误如何解决?

你提供的Page1的XAML代码本身语法没有错误,报错和XAML内容无关,可按照以下步骤排查修复:
报错截图

1 检查命名空间与类匹配

  • 打开Page1.xaml.cs后台文件,确认命名空间为Pages,类为带partial关键字的Page1,继承自ContentPage,必须和XAML头部的x:Class="Pages.Page1"完全对应,不能出现命名空间、类名拼写不一致的问题。

2 检查页面根容器配置

  • 要实现基于导航栈的页面切换,必须将App的启动根页面包裹在NavigationPage中,打开App.xaml.cs修改启动代码:
// 正确写法
MainPage = new NavigationPage(new 你的启动首页类名());

// 错误写法(直接设置启动页无Navigation包裹,调用PushAsync会触发空引用报错)
// MainPage = new 你的启动首页类名();
  • 页面跳转的代码写法必须为:
// 放在触发跳转的事件逻辑中,必须加await关键字
await Navigation.PushAsync(new Page1());

3 清理项目缓存

  • 右键解决方案选择「清理解决方案」
  • 关闭VS,删除项目根目录下的bin、obj文件夹
  • 重新打开VS生成项目运行即可

常见操作错误点

  • 新建ContentPage后手动修改了类名/命名空间,没有同步修改XAML里的x:Class属性
  • 没有配置NavigationPage作为根容器就直接调用PushAsync方法
  • 跳转代码没有加await,异步操作异常未捕获导致崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:42:00