当前上下文中不存在名称为'InitializeComponent'的内容(C#,Xamarin)。

4
我刚刚下载了Visual Studio并创建了一个新的Xamarin.Forms项目。然而,当使用自动生成的代码构建应用程序时,我卡在MainPage.xaml的代码后面遇到了以下错误:The name 'InitializeComponent' does not exist in the current context。 我在互联网上查找解决方案,但没有找到适合我的解决方案。
我尝试过以下方法:
  • 更改MainPage.xaml属性中的自定义工具(此前为空)

  • 检查名称空间是否匹配(是的)

  • 我尝试保存所有文件

这是自动生成的代码的图像,我没有对其进行编辑:MainPage.xaml and MainPage.xaml.cs

你确定代码后台和 XAML 的命名空间是相同的吗? - hugo
“解决方案对我无效” - 你需要告诉我们你尝试了什么,否则我们只会浪费时间建议你可能已经完成的事情。比如验证是否恢复了所有软件包。 - Jason
你改变了任何命名空间吗? - Crowcoder
1
我不太自信将其发布为答案,因为我无法提供任何其他信息或确信这是解决方案,但如果它对您有用,请告诉我,我会将其发布为答案。 - Timothy James
@TimothyJames,你的回答真的起作用了,谢谢你!我将它标记为解决方案。 - Yossef Nagy
显示剩余3条评论
5个回答

5
如果您的构建成功,但是一直出现“initializecomponent不存在”的错误,请按以下步骤操作:
关闭Visual Studio, 删除项目中隐藏的.vs文件夹(这将清除Intellisense), 重新打开Visual Studio-错误消息就消失了。

被接受的答案对我无效,你的@pollaris对我有效。 - ZZZ

4

我遇到过这个问题,InitializeComponent和其他一些类和方法会提示“当前上下文中不存在”。不确定根本原因是什么,但如果与我遇到的情况相同,我会卸载和重新加载所有项目。这可以通过在解决方案资源管理器中右键单击项目,然后单击卸载,再次右键单击并选择重新加载来完成。


这对我在 Visual Studio for Mac 2019 上起作用。 - Argon
这对我也起作用了 - VS2022 - Greg Osborne

3

有时候创建新页面时我也会遇到这个问题,要确保页面的BuildAction设置为“嵌入式资源”,就像其他普通页面一样。 图片描述


在所有的答案中,这个对我起作用了!谢谢! - Matthew C

0

这是我为了解决Xamarin项目中的错误所做的。我关闭了项目并删除了obj文件夹。然后重新加载项目,错误就消失了。


0

请检查您的XAML文件的ContentPage属性。确保x:Class值正确,例如:x:Class="YourProjectName.Views.ContentPageName">

我创建了一个ContentPage然后重命名它,但是x:Class没有更新,所以我不得不手动更新。尝试过卸载/重新加载,但在我的情况下没有起作用。

还有一种情况,我创建了一个名为“Buttons”的内容页,遇到了同样的问题。我将其删除并创建了另一个名为“UsingButtons”的内容页,这样就可以了。也许有保留文件名的单词。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接