You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022/.NET 7中MAUI模板无法运行且大量引用报错

解决MAUI/.NET7项目中Microsoft.Extensions及AndroidX引用错误的方案

1. 检查项目文件(.csproj)配置

打开项目的.csproj文件,确认核心配置是否正确:

  • 确保<TargetFramework>包含完整的.NET7 MAUI目标框架:
    <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst;net7.0-windows10.0.19041.0</TargetFrameworks>
    
  • 确认MAUI SDK启用配置存在:
    <UseMaui>true</UseMaui>
    <SingleProject>true</SingleProject>
    
  • 手动添加缺失的Microsoft.Extensions相关NuGet包引用:
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
    

2. 修复Android平台依赖问题

针对AppCompatActivity的引用错误:

  • 打开NuGet包管理器,搜索并安装匹配.NET7版本的Xamarin.AndroidX.AppCompat包(推荐1.6.x及以上版本)
  • 右键项目选择清理,删除bin/obj目录后重新生成项目
  • 修正MainActivity.cs的继承关系,MAUI Android主活动应继承自MauiAppCompatActivity:
    using Android.App;
    using Android.Content.PM;
    using Android.OS;
    
    namespace YourAppNamespace.Platforms.Android;
    
    [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
    public class MainActivity : MauiAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
        }
    }
    

3. 重置.NET SDK缓存

执行命令清理NuGet缓存,解决包损坏问题:

dotnet nuget locals all --clear

随后重新还原项目依赖:

dotnet restore

4. 验证VS安装组件

打开VS安装器,确认已安装以下核心组件:

  • .NET 7.0正式版SDK
  • 移动开发.NET工作负载(包含MAUI工具链、Android SDK)
  • Android API 33及以上版本的SDK

5. 空白项目测试排查

如果以上步骤无效,创建全新的空白.NET7 MAUI项目:

  • 若空白项目可正常编译,说明原项目配置存在异常,逐步迁移代码到新项目
  • 若空白项目仍报错,彻底卸载VS 2022和.NET7 SDK后,重新安装最新正式版

内容的提问来源于stack exchange,提问作者ZetaF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:05:38