Я попытался начать играть с .Net MAUI и настроил свою среду разработки, следуя шагам, описанным в:
- https://docs.microsoft.com/en-us/dotnet/maui/get-started/first-app?pivots=windows
- https://docs.microsoft.com/en-us/windows/apps/project-reunion/set-up-your-development-environment#required-workloads-and-components
- https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/device-manager?tabs=windows&pivots=windows
Я также запустил инструмент CLI «maui-check», и все проверилось, но когда я создаю новое приложение .NET MAUI с Visual Studio 2019 v16.11.0 Preview 2.0 (работает в Windows 10 Home 20H2), я получаю « Имя «InitializeComponent» не существует в ошибках сборки текущего контекста. Он также не находит ссылок на какие-либо элементы управления в форме, например. «Имя CounterLabel не существует в текущем контексте»
Я пробовал почти все в этом сообщении имя ' InitializeComponent" не существует в текущем контексте, который содержит такие предложения, как добавление и удаление файлов, внесение изменений и возврат их обратно... в основном все, кроме броска пенни в колодец желаний.
Я обнаружил, что распространенной ошибкой является несоответствие пространств имен, но вот то, что я показал, что пространства имен верны:
Приложение.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());
}
}
}
Главная страница.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#', все заработает. Это явно приводит к сбою некоторых операций синтаксического анализа в фоновом режиме.