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

从.NET Aspire仪表板启动.NET MAUI应用至Android模拟器失败求助

.NET 10 MAUI + Aspire 13 无法通过模拟器启动应用问题

问题概述

配置了集成Aspire 13的.NET 10 MAUI应用,启动Aspire项目并打开仪表板后,Android模拟器已正常运行,但无法将应用部署到模拟器,抛出hostpolicy.dll未找到、runtimeconfig.json未指定框架的错误。

复现步骤

  • 启动Visual Studio
  • 创建名为MauiApp1的新.NET MAUI App项目
  • 选择.NET 10作为目标框架
  • 勾选“加入.NET Aspire编排”,指定Aspire 13版本
  • 项目创建完成后运行MauiApp1.AppHost项目
  • 待Aspire仪表板打开后,等待mauiapp1资源启动
  • 若模拟器未启动则手动启动Android模拟器
  • 尝试启动mauiapp1-android-emulator资源

尝试过的两种配置

版本1:默认AppHost配置

var builder = DistributedApplication.CreateBuilder(args);

builder.AddProject<Projects.MauiApp1>("mauiapp1");

builder.Build().Run();

版本2:使用AddMauiProject方法配置

先在MauiApp1.AppHost项目中添加包引用:

<PackageReference Include="Aspire.Hosting.Maui" Version="13.0.0-preview.1.25560.3" />

修改AppHost.cs代码:

var builder = DistributedApplication.CreateBuilder(args);

var mauiApp = builder.AddMauiProject("mauiapp1", @"../MauiApp1/MauiApp1.csproj");

mauiApp.AddAndroidEmulator()
    .WithOtlpDevTunnel();

builder.Build().Run();

错误信息

Successfully executed command 'resource-start'.
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\MauiApp1\MauiApp1\bin\Debug\net10.0-android'.
Failed to run as a self-contained app.

  • The application was run as a self-contained app because 'C:\MauiApp1\MauiApp1\bin\Debug\net10.0-android\MauiApp1.runtimeconfig.json' did not specify a framework.

测试环境

  • Visual Studio版本:2022 Community、2026预览版(社区版)
  • Android模拟器:Pixel 7 API36及其他多款模拟器

解决方案

  1. 调整MAUI项目的自包含配置
    打开MAUI项目的.csproj文件,确认<SelfContained>设置为false:

    <PropertyGroup>
      <SelfContained>false</SelfContained>
    </PropertyGroup>
    

    Android MAUI应用默认应为框架依赖模式,自包含模式会导致runtimeconfig.json缺失框架信息,引发Aspire编排启动失败。

  2. 修复runtimeconfig.json文件
    清理MAUI项目的bin和obj目录后重新生成项目。若生成的MauiApp1.runtimeconfig.json仍无框架配置,手动补充:

    {
      "runtimeOptions": {
        "tfm": "net10.0-android",
        "framework": {
          "name": "Microsoft.NETCore.App",
          "version": "10.0.0"
        }
      }
    }
    
  3. 确保包版本兼容性
    确认Aspire.Hosting.Maui包版本与.NET 10、Aspire 13的预览版本完全匹配,避免版本不一致导致的编排逻辑异常。

  4. 预验证模拟器部署
    先手动将MAUI应用部署到Android模拟器,确认应用能正常启动后,再通过Aspire仪表板启动mauiapp1-android-emulator资源,排除模拟器环境本身的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:20:10