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

Xamarin.Forms报错:未找到Xamarin.Forms.ImageSource的默认构造函数

解决Xamarin.Forms App.xaml中ImageSource资源声明的构造函数异常问题

问题根源

ImageSource是Xamarin.Forms中的抽象类,本身没有公开的默认构造函数,你直接用<ImageSource>标签实例化的写法不合法,这才是报错的核心原因。之前重新拉项目能临时解决,是因为旧缓存被清除了,但本质写法错误没修正,所以修改文件后会再次触发报错。

正确的资源声明写法

你需要使用ImageSource的具体派生类来声明资源,针对放在ResourceDirectory的本地资源文件,推荐用FileImageSource:

<FileImageSource x:Key="GreekNavBarImage" File="greek_temp.png" />
<FileImageSource x:Key="LatinNavBarImage" File="latin_temp.png" />
<FileImageSource x:Key="CurrentNavBarImage" File="greek_temp.png" />

如果是嵌入式资源,可改用EmbeddedImageSource并指定资源ID;网络图片则用UriImageSource。

解决本地修改后缓存报错的问题

修改代码后若仍报错,无需重新拉项目,执行以下步骤清理缓存即可:

  • 删除项目目录下的bin和obj文件夹
  • 在Visual Studio中点击生成 > 清理解决方案
  • 重启Visual Studio后重新生成项目

关于命名空间的说明

你使用的xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"是Xamarin.Forms兼容的命名空间,提示过时只是编辑器警告,不是本次异常的原因,可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:32:51