Xamarin Forms共享项目添加Content (XAML)页面报错
解决Xamarin共享项目中XAML页面不显示及
InitializeContent不存在的问题 我之前在维护Xamarin共享项目时,也碰到过一模一样的问题——新建的XAML页面在解决方案管理器里只显示.cs文件,还一直报InitializeContent不存在的错误,而且所有新项目都中招,折腾了好一阵才找到根源。下面是亲测有效的解决步骤,按顺序试就行:
修复Visual Studio的Xamarin模板
这种全项目批量出问题的情况,大概率是Xamarin模板损坏了。可以通过VS安装器修复,或者手动重置模板:- 关闭所有Visual Studio实例
- 打开Visual Studio Installer,找到你正在使用的VS版本,点击「修改」
- 切换到「单个组件」标签,找到所有和Xamarin相关的组件,确保都勾选(如果已经勾选,先取消再重新勾选),然后点击「修改」完成修复
- 也可以手动重置模板:打开管理员权限的命令提示符,运行
devenv /installvstemplates,这个命令会重置所有VS内置模板
手动修复项目文件的XAML关联
如果模板修复后还是不行,就手动修改共享项目的.shproj文件,确保XAML和.cs文件正确关联:- 在解决方案资源管理器中,右键点击共享项目,选择「卸载项目」
- 右键点击已卸载的项目,选择「编辑 [你的项目名].shproj」
- 找到对应Page1的代码块,确保是类似下面的结构(如果缺少
<DependentUpon>节点就手动加上):<Compile Include="Page1.xaml.cs"> <DependentUpon>Page1.xaml</DependentUpon> </Compile> <EmbeddedResource Include="Page1.xaml"> <SubType>Designer</SubType> </EmbeddedResource> - 保存文件后,右键项目选择「重新加载项目」,这时候XAML文件应该会嵌套在.cs文件下面了
检查XAML文件的生成操作设置
有时候XAML文件的生成配置被误改,也会导致关联失败和编译错误:- 在解决方案资源管理器中,点击项目右上角的「显示所有文件」按钮,找到Page1.xaml
- 右键XAML文件,选择「属性」
- 确保生成操作设置为
Embedded Resource,自定义工具设置为MSBuild:UpdateDesignTimeXaml - 重新编译项目,
InitializeContent的错误应该会消失
清理Visual Studio缓存
VS的缓存文件损坏也会引发各种奇怪的问题,清理一下试试:- 关闭所有VS窗口,删除以下两个目录的缓存文件:
%LOCALAPPDATA%\Microsoft\VisualStudio\[你的VS版本号]\ComponentModelCache%USERPROFILE%\AppData\Local\Temp\VisualStudioProjectCache
- 重启VS,新建一个测试项目验证问题是否解决
- 关闭所有VS窗口,删除以下两个目录的缓存文件:
内容的提问来源于stack exchange,提问作者Harshith
相关产品推荐
相关产品推荐

