VS2022 Preview4更新后.NET MAUI发布报错:_GenerateAppxPackage目标不存在
.NET MAUI项目升级VS2022 Preview 4后发布MSIX报错:
MSB4057 The target "_GenerateAppxPackage" does not exist in the project 问题详情
使用VS2022 Preview 2创建的.NET MAUI项目,构建、调试均正常。升级至17.4.0 Preview 4后,通过“创建应用包”向导发布旁加载MSIX时,触发以下错误:
MSB4057 The target "_GenerateAppxPackage" does not exist in the project.
错误指向项目的.csproj文件。
已执行的排查操作:
- 新建默认MAUI项目可正常发布,且新项目中无
_GenerateAppxPackage相关配置 - 重建项目(仅迁移
.cs和.xaml文件)、重装VS预览版,问题仍未解决 - 查阅到的
_GenerateAppxPackage相关资料多关联Azure集成,但本项目为离线独立数据转换应用
解决方案尝试
1. 对比新项目配置,修复.csproj中的MAUI目标导入
打开可正常发布的全新MAUI项目的.csproj文件,与你的项目文件逐一对比,重点检查:
- 顶部SDK引用是否正确:
<Project Sdk="Microsoft.NET.Sdk"> - MAUI核心属性是否完整,例如:
<PropertyGroup> <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst;net7.0-windows10.0.19041.0</TargetFrameworks> <OutputType>Exe</OutputType> <RootNamespace>YourAppNamespace</RootNamespace> <UseMaui>true</UseMaui> <SingleProject>true</SingleProject> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup> - Windows/MSIX相关配置段是否存在,例如:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-windows10.0.19041.0'"> <UseWindowsForms>true</UseWindowsForms> <UseWPF>true</UseWPF> <WindowsPackageType>MSIX</WindowsPackageType> </PropertyGroup>
将项目中旧的、缺失的配置替换为新项目的对应内容。
2. 清理项目缓存后重新生成
- 删除项目根目录下的
bin、obj文件夹 - 删除解决方案根目录下的
.vs隐藏文件夹 - 在VS中依次执行“清理解决方案”→“生成解决方案”,再尝试发布操作
3. 校验发布向导的配置参数
在“创建应用包”向导中:
- 确认选择“旁加载”发布模式
- 检查“选择和配置包”步骤中的目标版本、架构与项目配置是否匹配
- 尝试手动指定包输出目录,避免路径权限或特殊字符导致的问题
4. 手动导入MSIX相关目标(临时 workaround)
若上述方法均无效,可尝试在.csproj中手动添加MSIX目标导入:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v17.0\Microsoft.Windows.UI.Xaml.CSharp.targets" /> <Import Project="$(MSBuildSDKsPath)\Microsoft.NET.Sdk.WindowsDesktop\targets\Microsoft.NET.Sdk.WindowsDesktop.targets" />
注意:此方法仅作为临时修复,优先推荐通过对比新项目配置来彻底解决问题。
内容的提问来源于stack exchange,提问作者Andy Johnson
相关产品推荐
相关产品推荐

