MAUI Windows应用发布遇多文件冲突及构建错误求助
发布.NET MAUI Windows非打包应用时的系列构建错误及求助
操作背景
按照官方文档指导,使用以下CLI命令发布面向Windows的.NET MAUI非打包应用:
dotnet publish -c Release -f net8.0-windows10.0.19041.0 -p:PublishSingleFile=true -p:Platform=x64 -p:WindowsPackageType=None -p:RuntimeIdentifierOverride=win10-x64 -p:WindowsAppSDKSelfContained=true
首次错误:重复发布文件(NETSDK1152)
执行命令后触发错误:
C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets(112,5): error NETSDK1152: Found multiple publish output files with the same relative path: C:\...\src\Apps\MyApp.ClientApp\obj\x64\Release\net8.0-windows10.0.19041.0\win10-x64\MsixContent\Microsoft.Web.WebView2.Core.dll, obj\x64\Release\net8.0-windows10.0.19041.0\win10-x64\R2R\Microsoft.Web.WebView2.Core.dll. [C:\...\src\Apps\MyApp.ClientApp\MyApp.ClientApp.csproj::TargetFramework=net8.0-windows10.0.19041.0]
注:调试运行正常,仅发布阶段触发该错误
第一次尝试解决及新错误(MSB4018)
在项目csproj文件中添加以下配置:
<PropertyGroup> <!-- 创建nuget锁定文件packages.lock.json,用于Azure Pipeline缓存包 --> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> <!-- 尝试解决重复文件构建错误 --> <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> </PropertyGroup>
添加后出现新错误:
C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets(1038,5): error MSB4018: The "GenerateBundle" task failed unexpectedly. [C:\...\src\Apps\MyApp.ClientApp\MyApp.ClientApp.csproj::TargetFramework=net8.0-windows10.0.19041.0] ...
第二次尝试解决及后续错误
添加<EnableMsixTooling>false</EnableMsixTooling>配置后,MSB4018错误消失,但触发NETSDK1022错误,提示wwwroot\favicon.png文件重复。删除该文件后,又出现新的构建错误:
1>C:\Program Files\dotnet\sdk\8.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(491,5): error NETSDK1082: There was no runtime pack for Microsoft.NETCore.App available for the specified RuntimeIdentifier 'win10-arm'. ...
当前csproj配置及遗留问题
目前项目的csproj配置如下,NETSDK1082错误仍未解决,求可行解决方案:
<PropertyGroup> <GenerateAppInstallerFile>True</GenerateAppInstallerFile> <AppxPackageSigningEnabled>True</AppxPackageSigningEnabled> <PackageCertificateThumbprint>....</PackageCertificateThumbprint> <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm> <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision> <AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled> <GenerateTestArtifacts>False</GenerateTestArtifacts> <AppInstallerUri>C:\MeaeCareInstallers</AppInstallerUri> <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks> </PropertyGroup> <PropertyGroup> <EnableMsixTooling>false</EnableMsixTooling> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> </PropertyGroup>
内容的提问来源于stack exchange,提问作者bunjeeb
相关产品推荐
相关产品推荐

