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