首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET MAUI应用程序崩溃,因为它没有加载图像文件

.NET MAUI应用程序崩溃,因为它没有加载图像文件
EN

Stack Overflow用户
提问于 2022-11-15 05:42:27
回答 1查看 117关注 0票数 0

在我的.NET毛伊岛应用程序中,我将应用程序使用的图标从基于字体的图标更改为PNG文件,并将这些图像存储在Resources > Images文件夹中。

我成功地创建了一个软件包并将其上传到TestFlight,但是当我试图打开这个应用程序时,它会立即崩溃。在崩溃日志中,我发现造成崩溃的原因是该应用程序无法加载用于Flyout (即汉堡包菜单图标)的Flyout文件。

应用程序的另一个关键变化是,它现在是一个基于.NET 7的应用程序。

我以为发布过程会将应用程序使用的PNG图像添加到ipa包中,如果我将它们放在Resources > Images文件夹中的话。

你知道这里有什么问题吗?

下面是异常日志的截图

下面是MyApp.csproj文件:

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
        <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net7.0-windows10.0.19041.0</TargetFrameworks>
        <OutputType>Exe</OutputType>
        <RootNamespace>MyApp</RootNamespace>
        <UseMaui>true</UseMaui>
        <SingleProject>true</SingleProject>
        <ImplicitUsings>enable</ImplicitUsings>

        <!-- Display name -->
        <ApplicationTitle>MyApp</ApplicationTitle>

        <!-- App Identifier -->
        <ApplicationId>com.mycompany.myapp</ApplicationId>
        <ApplicationIdGuid>0636ab8b-e4f3-4c11-83e5-b809594a10b5</ApplicationIdGuid>

        <!-- Versions -->
        <ApplicationDisplayVersion>1.2</ApplicationDisplayVersion>
        <ApplicationVersion>68</ApplicationVersion>

        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">11.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">13.1</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
        <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
    </PropertyGroup>

    <PropertyGroup Condition="'$(TargetFramework)'=='net7.0-ios'">
      <CodesignKey>Apple Development: Samuel Uresin (3YQ4LF4U5J)</CodesignKey>
      <CodesignProvision>VS: llc.iquest.ingrid.connect Development</CodesignProvision>
    </PropertyGroup>

    <ItemGroup>
        <!-- App Icon -->
        <MauiIcon Include="Resources\AppIcon\appicon.png" />

        <!-- Splash Screen -->
        <MauiSplashScreen Include="Resources\Splash\splash.png" Color="#262627" />

        <!-- Images -->
        <MauiImage Include="Resources\Images\*" />
        <MauiImage Update="Resources\Images\dotnet_bot.svg" BaseSize="168,208" />

        <!-- Custom Fonts -->
        <MauiFont Include="Resources\Fonts\*" />

        <!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
        <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
    </ItemGroup>

    <ItemGroup>
      <None Remove="Resources\Images\about_graphite.png" />
      <None Remove="Resources\Images\badge_graphite.png" />
      <None Remove="Resources\Images\biz_profile_graphite.png" />
      <None Remove="Resources\Images\coupons_graphite.png" />
      <None Remove="Resources\Images\customers_graphite.png" />
      <None Remove="Resources\Images\dashboard_graphite.png" />
      <None Remove="Resources\Images\feed_graphite.png" />
      <None Remove="Resources\Images\hamburger_manu_graphite.png" />
      <None Remove="Resources\Images\intercom_graphite.png" />
      <None Remove="Resources\Images\plus_graphite.png" />
      <None Remove="Resources\Images\power_graphite.png" />
      <None Remove="Resources\Images\qr_scan_graphite.png" />
      <None Remove="Resources\Images\qr_scan_large_graphite.png" />
      <None Remove="Resources\Images\search_graphite.png" />
      <None Remove="Resources\Images\settings_graphite.png" />
      <None Remove="Resources\Images\shop_graphite.png" />
      <None Remove="Resources\Images\single_user_graphite.png" />
      <None Remove="Resources\Images\subscriptions_graphite.png" />
      <None Remove="Resources\Images\user_profile_graphite.png" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Azure.Storage.Blobs" Version="12.14.1" />
        <PackageReference Include="CommunityToolkit.Maui" Version="3.0.0" />
        <PackageReference Include="CommunityToolkit.Mvvm" Version="8.0.0" />
        <PackageReference Include="Ingrid.Aurora" Version="1.5.1" />
        <PackageReference Include="Ingrid.Core" Version="1.5.1" />
        <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="7.0.0" />
        <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
        <PackageReference Include="MonkeyCache.FileStore" Version="1.6.3" />
        <PackageReference Include="Plugin.InAppBilling" Version="6.7.0" />
        <PackageReference Include="Plugin.Maui.Audio" Version="0.1.0-preview1" />
        <PackageReference Include="Sentry.Maui" Version="3.23.1-preview.3" />
        <PackageReference Include="Syncfusion.Maui.Barcode" Version="20.3.56" />
        <PackageReference Include="ZXing.Net.Maui.Controls" Version="0.2.0-preview.2" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
        <PackageReference Include="SQLitePCLRaw.core" Version="2.1.0" />
        <PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.1.0" />
        <PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.0" />
        <PackageReference Include="SQLitePCLRaw.provider.sqlite3" Version="2.1.0" />
    </ItemGroup>

</Project>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-16 20:02:09

我在Styles.xaml中设置了飞出图标,这就是问题所在--参见下面。

代码语言:javascript
复制
<Style TargetType="Shell" ApplyToDerivedTypes="True">
    <Setter Property="Shell.FlyoutIcon" Value="mymenuicon.png" />
</Style>

也许有一种方法可以在Styles.xaml中设置它,如果有人能在评论中告诉我如何设置它,我会很感激的。

解决我的问题的方法是简单地在AppShell中设置它,如下所示:

代码语言:javascript
复制
<Shell
   x:Class="MyApp.AppShell"
   FlyoutIcon="mymenuicon.png">
  ...
</Shell>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74441068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档