【问题标题】:InitializeComponent does not exist初始化组件不存在
【发布时间】:2016-09-01 14:07:46
【问题描述】:
InitializeComponent();

此代码行出现在我所有 Xaml 页面的构造函数中的代码后面。 它抛出以下错误:

InitializeComponent 不存在。

现在我无法调试项目中的任何页面,尽管我已经注释掉了这一行。

我该如何解决这个问题?

任何帮助将不胜感激。

注意:我正在使用 Xamarin Forms Portable 项目。

更新:当我注释掉这一行并运行页面时,IOS 和 Android 都只显示一个空白屏幕,尽管我的页面之前可以正常工作而没有错误。

更新 2: 现在 InitializeComponent 行消失了,但我调试的页面仍然完全空白。

我在here 上问过一个关于这个新问题的问题。

【问题讨论】:

标签: xaml xamarin xamarin.forms


【解决方案1】:

我在 Xamarin Forms Application 中也遇到了同样的问题。我通过将 Build Action 更改为:

嵌入式资源

.xaml 和 .cs 文件都使用属性窗口。

希望对你有帮助。

【讨论】:

  • 正如对先前答案的评论已经指出的那样,OP 没有这个问题。 -1 重复答案。
  • @Maverik,是的,它可能是重复的答案。但先前的答案并未说明将 BuildAction 更改为 .xaml 和 .cs 文件的嵌入式资源。有时如果用户更改 .xaml 文件的 BuildAction,这并不意味着更改也将应用于 .cs文件也是如此。这就是我所面临的情况。所以我只是想在我的回答中详细说明一下。
  • 他可能没有用文字说出来,但截图很清晰。除此之外,要求 .cs 成为嵌入式资源更糟糕!如果人们不同意我的评估,我相信有人会投票支持你否定我,但我的投票代表现在。
【解决方案2】:

更改页面中的某些内容,然后保存。可怕的是,这有时会解决问题。

如果这不起作用。 更新您的 nugget 包,以便 Xam Forms 是最新的。 “清理”你的项目 转到您的项目目录并通过文件资源管理器从您的项目中删除 bin 和 obj。

重建它。

祝你好运。

【讨论】:

  • 我已经完成了这些,并且 InitializeComponent 行神秘地从项目中丢失了。但是当我在 Android 和 IOS 中调试时,页面仍然是完全空白的屏幕。
  • 我认为在项目中更改某些内容的逻辑是手动保存(简单保存)。有些人这样做是为了纠正文件的编码,我不知道。
【解决方案3】:

确保您的 Xaml 页面将属性 Custom Tool 设置为 MSBuild:UpdateDesignTimeXaml

【讨论】:

  • 是的,我有这些值。
【解决方案4】:

您是否重命名了您的页面?所有 XAML 页面都有一个可见的分部类(您在其中输入逻辑代码的部分)和一个隐藏的、系统生成的分部类。

如果您重命名了类但未使用 VS 重命名宏,则系统生成的分部类不再匹配您的可编辑分部类。

尝试运行“清洁解决方案”和“重建解决方案”(都在“构建”菜单中),看看 VS 是否可以自动检测并为您修复此问题。

如果这不起作用,请确保您的页面设置为部分类,例如public partial class MyPage : Page

如果还是不行,请手动删除项目根文件夹中的“obj”文件夹,然后重新构建。

【讨论】:

  • 不,我没有重命名我的页面和类。
【解决方案5】:

'这不是问题。您可以尝试构建您的解决方案。希望它会完美地构建。大多数情况下,InitializeComponent(); 的下划线也会变红。和你一样。是 Xamarin studio 和 Visual Studio 的问题

【讨论】:

    【解决方案6】:

    它是您在项目中创建的第一个 XAML 页面吗?或者您创建了其他页面并且它们不包含此问题? 你可以在这里查看 cmets:http://forums.xamarin.com/discussion/17638/initializecomponent-does-not-exist/p4

    【讨论】:

    • 不,我还有其他页面。这影响了我项目中的所有 XAML 页面。
    • 我第一次打开项目时总是发现这个错误,但是当我保存任何 XAML 页面时,即使我没有进行任何编辑,它也出人意料地解决了这个错误,但我没有认为这是你的问题。一种解决方案是启动一个新项目并创建具有相同名称的新文件,这听起来很奇怪,但有时可以解决这些问题。
    【解决方案7】:

    简单的技巧:

    只需编辑您的 Xaml 代码..(空间也足够了..但需要编辑)

    编辑xaml页面保存项目后..

    现在检查错误消失了..

    【讨论】:

      【解决方案8】:

      在我的情况下,这是因为中间构建路径对于 Windows 来说太长了。在我的情况下,将我的解决方案移动到驱动器根目录 C:\dev{solution} 解决了这个问题。

      【讨论】:

        【解决方案9】:

        我遇到了这个问题,因为我的 .xaml 文件的命名空间与 .xaml.cs 文件的命名空间不匹配。修复命名空间使其匹配更正了问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-24
          • 2019-01-24
          • 2010-10-03
          • 2013-11-09
          • 2016-11-25
          • 1970-01-01
          • 2021-05-13
          • 1970-01-01
          相关资源
          最近更新 更多