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

使用Visual Studio for Mac创建项目时遇CS0103错误:InitializeComponent不存在

解决Xamarin.Forms中InitializeComponent不存在的编译错误

我之前在Visual Studio for Mac里也碰到过一模一样的问题,这个CS0103报错基本上都是XAML文件的生成配置或者命名空间匹配的问题,给你几个靠谱的解决步骤:

  • 检查XAML文件的生成操作
    右键类库中的XAML文件,选择「属性」,确保:

    • 「生成操作」设置为Embedded resource
    • 「自定义工具」设置为MSBuild:UpdateDesignTimeXaml
      这个自定义工具负责自动生成包含InitializeComponent()方法的.xaml.g.cs文件,要是设置错了肯定会报找不到的错。
  • 验证XAML与代码文件的命名空间完全匹配
    打开XAML文件,确认根元素的x:Class属性完全对应代码类的全名(命名空间+类名),比如:

    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 x:Class="YourAppNamespace.YourContentPage">
    

    同时检查代码文件的命名空间和类名是否和上面一致:

    namespace YourAppNamespace
    {
        public partial class YourContentPage : ContentPage
        {
            public YourContentPage()
            {
                InitializeComponent();
            }
        }
    }
    

    另外XAML里的xmlns:local命名空间也要和代码的命名空间匹配,避免出现引用不一致的情况。

  • 清理并重建整个解决方案
    有时候VS的缓存会导致自动生成的代码没更新,按顺序做这两步:

    1. 菜单栏选择「生成」→「清理解决方案」
    2. 再选择「生成」→「重建解决方案」
      很多时候缓存问题清理完就解决了。
  • 确保所有项目的Xamarin.Forms版本一致
    打开NuGet包管理器,检查iOS项目和.NET Standard类库中的Xamarin.Forms版本完全相同,版本不匹配也可能导致生成工具无法正常工作。

  • 手动检查自动生成的代码文件(可选)
    打开类库项目的obj\Debug\netstandard2.0目录,找一下YourContentPage.xaml.g.cs文件:

    • 如果这个文件不存在,说明自定义工具没运行,回到第一步确认生成操作设置
    • 如果文件存在但里面的命名空间或类名不对,调整XAML里的x:Class属性后重新生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:38:13