0

我安装了 Visual Studio 2022 Preview 使用 Android 或机器模拟器运行 Maui App 时出现错误。有没有人有同样的问题?

已安装

  • 单项目 MSIX 打包
  • 安卓设备管理器

如果添加命名空间仍然不起作用,则缺少命名空间

错误“严重代码描述项目文件行抑制状态错误 CS0246 找不到类型或命名空间名称‘MauiApp’(您是否缺少 using 指令或程序集引用?) MauiApp37 (net6.0-android)”

如果我包含它,则缺少命名空间仍然无法“使用 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-experimental1) MauiApp37

4

2 回答 2

1

您的主要课程是MainApplication类型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();
    }
}

所以我建议使用新模板创建一个新项目,然后迁移其余的类/视图(为您的项目使用相同的名称以使其更容易)

于 2021-11-12T09:49:08.543 回答
0

编辑:他们已经更改了 AndroidManifest.xml 文件,所以这目前不起作用。

我添加了

using Microsoft.Maui.Hosting;

到 Platforms/Android 下的 MainApplication.cs。(也就是说,如果你想让它在 iOS 上工作,同样的 using 指令需要在 iOS 下的相应文件中添加)

然后,当我尝试运行它时,我遇到了版本错误。

我通过将 android:versioinCode 从 1.0 更改为 1 来解决这个问题

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyname.MauiCheck" android:versionCode="1" android:versionName="1.0.0">

位于 Platforms/Android 下的 AndroidManifest.xml 中。

这就是我让它工作的方式。我尝试了 Juan Sturla 的答案,甚至对 Visual Studio 安装程序进行了修复,但它仍然给了我错误。也许如果我卸载然后重新安装可以工作的视觉工作室,但我没有尝试过。

于 2021-11-25T02:46:44.363 回答