Приложение Maui не работает с пространством имен Android Simulator отсутствует
Я установил предварительный просмотр Visual Studio 2022. Ошибка при запуске приложения Maui с использованием Android или Machine Simulator. Есть ли у кого-нибудь такая же проблема?
Уже установлено
- Упаковка MSIX для одного проекта
- Менеджер устройств Android
Пространство имен отсутствует, если добавить пространство имен все еще не работает
ошибка «Код серьезности Описание Ошибка состояния подавления строки файла проекта CS0246 Не удалось найти тип или имя пространства имен« MauiApp »(вам не хватает директивы using или ссылки на сборку?) MauiApp37 (net6.0-android)»
Отсутствует пространство имен, если я включаю его, по-прежнему не работает «using Microsoft.Maui.Hosting;»
Вторая ошибка
Код серьезности Описание Ошибка состояния подавления строки файла проекта NU1605 Обнаружено понижение версии пакета: Microsoft.WindowsAppSDK с 1.0.0-preview3 до 1.0.0-experimental1. Ссылка на пакет прямо из проекта, чтобы выбрать другую версию. MauiApp37 -> Microsoft.AspNetCore.Components.WebView.Maui 6.0.101-preview.10.2068 -> Microsoft.WindowsAppSDK (>= 1.0.0-preview3)MauiApp37 -> Microsoft.WindowsAppSDK (>= 1.0.0-экспериментальный1) MauiApp37
2 ответа
Ваш основной класс имеет тип
MauiApplication
Это означает, что шаблон, который вы использовали для создания этого проекта, устарел (я думаю, это была предварительная версия 6 или 7).
Если вы создадите новое приложение .NET MAUI с более новым шаблоном, вы увидите, что основной класс выглядит примерно так. И это единственный основной файл
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
});
return builder.Build();
}
}
Поэтому я бы рекомендовал создать новый проект с использованием нового шаблона, а затем перенести остальные классы/представления (используйте то же имя для своего проекта, чтобы упростить его)
я добавил
using Microsoft.Maui.Hosting;
в MainApplication.cs в разделе «Платформы/Android». (это означает, что если вы хотите, чтобы это работало для iOS, необходимо добавить ту же директиву using в соответствующий файл под iOS)
Затем, когда я попытался запустить его, я столкнулся с ошибкой версии.
Я исправил это, изменив android:versioinCode на 1 с 1.0 в строке
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyname.MauiCheck2" android:versionCode="1" android:versionName="1.0.0">
находится в файле AndroidManifest.xml в разделе «Платформы/Android».
Вот как я заставил его работать. Я попробовал ответ Хуана Стурлы и даже исправил установщик визуальной студии, но он все равно выдал мне ошибку. Возможно, если бы я удалил, а затем переустановил визуальную студию, это сработало бы, но я не пробовал.