【问题标题】:Xamarin Forms InitializeComponent does not existXamarin 窗体 InitializeComponent 不存在
【发布时间】:2016-04-15 16:42:44
【问题描述】:
我正在学习 Visual Studio 2015 的 Xamarin Forms 并尝试使用 Xaml 创建一个简单的共享项目,但我不断收到 InitializeComponent 不存在(以及对 cs 类中 Xaml 控件的任何引用)。
据我了解,在最新版本的 Xamarin 中,Xaml 在共享 Xamarin 表单项目中工作(而不仅在 PCL 项目中)。我尝试运行不到一个月前发布的最新测试版,但仍然没有运气。
非常感谢任何建议。
【问题讨论】:
标签:
xaml
xamarin
xamarin-forms
【解决方案1】:
原来我必须像这样手动更改所有 Xaml 文件的属性:
Build Action: Embedded resource
Custom Tool: MSBuild:UpdateDesignTimeXaml
由于某种原因,添加新的 Xaml 表单文件不会在 VS2015 中使用最新的 Xamarin 默认设置这些文件。
【解决方案2】:
我遇到了同样的问题。事实证明,Xaml 中的完全限定类名必须与 .cs 文件完全匹配。我更正了命名空间大小写,它起作用了!!
【解决方案3】:
当您的 XAML 标记无效时会发生这种情况。有一个后台编译任务解析 XAML 文件并生成一个代码文件(通常对开发人员隐藏),该文件声明这些控件引用。如果您的 XAML 无效,则此任务将静默失败,您的第一个提示就是您描述的症状。
使用标准 XML 注释语法(用 <!-- 和 --> 包装)注释掉 XAML 文件的内容,然后重新构建项目以清除所有错误。您可能还需要临时注释掉 .cs 文件中的一些代码以使其构建。构建完成后,您可以返回并开始取消对 XAML 的注释,直到找到破坏它的部分。
【解决方案4】:
试试看:
打开包管理器控制台,输入以下行:
更新包 -project your_pcl_project_name -reinstall