微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

新的 .Net MAUI App 项目抛出“当前上下文中不存在名称‘InitializeComponent’”构建错误

如何解决新的 .Net MAUI App 项目抛出“当前上下文中不存在名称‘InitializeComponent’”构建错误

我已尝试开始使用 .Net MAUI,并按照以下步骤设置了我的开发环境:

  1. https://docs.microsoft.com/en-us/dotnet/maui/get-started/first-app?pivots=windows
  2. https://docs.microsoft.com/en-us/windows/apps/project-reunion/set-up-your-development-environment#required-workloads-and-components
  3. https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/device-manager?tabs=windows&pivots=windows

我还运行了“maui-check”CLI 工具并检查了所有内容,但是当我使用 Visual Studio 2019 v16.11.0 Preview 2.0(在 Windows 10 Home 20H2 上运行)创建新的 .NET MAUI 应用程序时,我获取“当前上下文中不存在名称‘InitializeComponent’”构建错误。它也没有找到对表单上任何控件的引用,例如'当前上下文中不存在名称'CounterLabel''

我已经尝试了这篇文章 The name 'InitializeComponent' does not exist in the current context 中的几乎所有内容,其中包含添加删除文件、进行更改和将它们改回来等建议......基本上除了在许愿井中投入一分钱之外的所有内容

我发现一个常见的错误是命名空间不匹配,但我已经证明命名空间是正确的:

应用程序.xaml:

<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:MauiApp1"
             x:Class="MauiApp1.App">
    ...
</Application>

App.xaml.cs

using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.PlatformConfiguration.Windowsspecific;
using System;
using Application = Microsoft.Maui.Controls.Application;

namespace MauiApp1
{
    public partial class App : Application
    {
        public App()
        {
            InitializeComponent(); <-- This is throwing the build error...
        }

        protected override IWindow CreateWindow(IActivationState activationState)
        {
            this.On<Microsoft.Maui.Controls.PlatformConfiguration.Windows>()
                .SetimageDirectory("Assets");

            return new Microsoft.Maui.Controls.Window(new MainPage());
        }
    }
}

MainPage.xaml:

ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiApp1.MainPage"
             BackgroundColor="{DynamicResource PageBackgroundColor}">

            ...
</ContentPage>

MainPage.xaml.cs

using System;
using Microsoft.Maui.Controls;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent(); <-- This is throwing the build error...
        }

        int count = 0;
        private void OnCounterClicked(object sender,EventArgs e)
        {
            count++;
            CounterLabel.Text = $"Current count: {count}"; <-- This is throwing the build error...
        }
    }
}

任何帮助将不胜感激!

---=== 更新 ===---

我创建的项目的路径是 c:\develop\c#...... 一旦我将项目复制到不包含“c#”的文件夹,它就可以工作。这显然会导致后台的一些解析失败。

解决方法

我遇到了同样的问题,看起来当我在 VS 中创建 ContentPage 时,它​​仍然指向 Xamarin Forms。将命名空间更改为 MAUI 后,我将 XAML 页面的构建操作(右键单击 Xaml 页面>>属性>>构建操作)更新为 MauiXaml,它对我有用。

,

我创建的项目的路径是 c:\develop\c#...... 只要我将项目复制到不包含“c#”的文件夹,它就可以工作。这显然会导致后台的一些解析失败。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?