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

如何强制Windows Application Packaging Project使用Native AOT?

解决Windows Application Packaging Project无法使用.NET Native AOT的问题

Windows Application Packaging Project(简称WAP)默认不会触发Native AOT的发布流程,它只会走常规.NET应用的发布逻辑,因此会忽略PublishAot这类AOT专属配置项。下面是两种可行的解决思路:

方法1:手动生成AOT产物后用MSIX打包工具打包

  1. 先通过命令行生成Native AOT的发布文件:
dotnet publish -c Release -r win-x64 --self-contained true

(把win-x64换成你需要的架构,比如win-x86或win-arm64)

  1. 打开MSIX打包工具(微软商店可直接安装),选择「应用安装程序」项目,导入刚才发布文件夹里的console-application.exe,跟着向导完成打包配置,就能生成符合微软商店要求的MSIX包。

方法2:修改WAP配置,强制引用AOT发布产物

  1. 先确认你的控制台项目已经配置好AOT相关属性:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <AssemblyName>console-application</AssemblyName>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0-windows</TargetFramework>
    <Nullable>enable</Nullable>
    <PublishAot>true</PublishAot>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier> <!-- 指定目标架构 -->
    <SelfContained>true</SelfContained>
  </PropertyGroup>
</Project>
  1. 编辑WAP项目的.wapproj文件,添加以下配置,让它直接使用控制台项目的AOT发布输出:
<PropertyGroup>
  <!-- 禁用WAP自动发布逻辑,改用预先生成的AOT产物 -->
  <PublishProfile>None</PublishProfile>
</PropertyGroup>

<ItemGroup>
  <!-- 引入AOT发布后的所有文件 -->
  <Content Include="..\console-application\bin\Release\net7.0-windows\win-x64\publish\**">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>

注意替换路径为你控制台项目的实际发布路径。

  1. 确保Package.appxmanifest里的执行别名指向AOT生成的可执行文件:
<Extensions>
  <uap5:Extension Category="windows.appExecutionAlias" Executable="console-application.exe" EntryPoint="Windows.FullTrustApplication">
    <uap5:AppExecutionAlias>
      <uap5:ExecutionAlias Alias="console-application.exe" />
    </uap5:AppExecutionAlias>
  </uap5:Extension>
</Extensions>

关键提示

  • WAP的发布逻辑是为传统.NET应用设计的,本身不支持直接触发Native AOT编译,所以必须绕开它的默认发布流程。
  • 无论用哪种方法,都要保证Runtime Identifier和目标平台一致,否则打包后的MSIX可能无法正常运行。
  • 验证是否成功的方法:打开打包后的MSIX包,里面应该只有单个console-application.exe(无大量.NET运行时附属文件)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 12:15:07