繁体   English   中英

.NET MAUI,CI 构建,失败 -> 错误 APT2113:读取 PNG 签名失败:文件不以 PNG 签名开头

[英].NET MAUI, CI Build, Fails -> error APT2113: failed to read PNG signature: file does not start with PNG signature

我正在将一个 Xamarin 项目迁移到 .NET Maui 并且所有应用程序都在本地构建和运行良好。 但是当我尝试通过 DevOps 中的 CI 管道构建它时,我在 YAML 的构建步骤中收到以下错误

/bin/bash --noprofile --norc /Users/runner/work/\_temp/c00c6495-9ac3-457b-9f2e-3e8b2d23566e.sh
MSBuild version 17.5.1+f6fdcf537 for .NET
Determining projects to restore...
All projects are up-to-date for restore.


/Users/runner/work/1/s/project/obj/Release/net7.0-android/resizetizer/r/drawable/logout.png : error APT2113: failed to read PNG signature: file does not start with PNG signature. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]
/Users/runner/work/1/s/projectobj/Release/net7.0-android/resizetizer/r/drawable/logout.png : error APT2261: file failed to compile. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]
/Users/runner/work/1/s/project/obj/Release/net7.0-android/resizetizer/r/drawable/receiver.png : error APT2113: failed to read PNG signature: file does not start with PNG signature. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]
/Users/runner/work/1/s/projectobj/Release/net7.0-android/resizetizer/r/drawable/receiver.png : error APT2261: file failed to compile. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]
/Users/runner/work/1/s/project/obj/Release/net7.0-android/resizetizer/r/drawable/clear.png : error APT2113: failed to read PNG signature: file does not start with PNG signature. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]
/Users/runner/work/1/s/project/obj/Release/net7.0-android/resizetizer/r/drawable/clear.png : error APT2261: file failed to compile. [/Users/runner/work/1/s/proj.csproj::TargetFramework=net7.0-android]

这是我的构建步骤的 Yaml:

- task: CmdLine@2
      displayName: 'Build project'
      inputs:
        script: |
          dotnet publish $(app-path-project) -c Release -f $(app-target-framework-android) /p:ApplicationId=$(app-id-android)
    

该解决方案在本地使用发布配置构建良好,我很确定 PNG 文件没有损坏并且是实际的 PNG 文件。

感谢您提供任何帮助:)

我正在尝试将 APK 发布到应用中心,这是唯一失败的步骤

您可以尝试在图像编辑器中打开该文件以确认它是否是有效的 PNG 文件或将其转换为正确的 PNG 文件。 很可能是 JPG 重命名为 PNG 文件,而不是实际的 PNG 文件。 在这种情况下,将扩展名更改为真实扩展名并转换为 PNG,然后重试。

例如,您有logo.png ,但它实际上是一张 JPG 图像。 您应该将其重命名回logo.jpg并使用类似Photoshop工具将图像转换为 PNG 格式。

如果这些解决方案均无效,您可以尝试将图像的扩展名重命名为.jpg而不是.png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM