maui: Dotnet-podcasts app fails to build for iOS

Description

Trying to publish the dotnet-podcasts app (https://github.com/microsoft/dotnet-podcasts branch maui/perf) for iOS fails. The main errors seem to follow ListenTogether/Emojis/EmojiPanel.razor : warning XA0101: @(Content) build action is not supported and Shared/Emojis/CryingFaceEmoji.razor : error : The path '../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/CryingFaceEmoji.razor' would result in a file outside of the app bundle and cannot be used. In the docs, running dotnet build is mentioned but we need to generate the ipa files so we need to publish, although this seems to occur with both. This issue was found and seems like it may be related https://github.com/dotnet/maui/issues/791.

Steps to Reproduce

General steps:

Script that should work on MAC:

curl -o NuGet.config 'https://raw.githubusercontent.com/dotnet/maui/main/NuGet.config'
curl -o dotnet-install.sh 'https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh'
chmod -R a+rx .
./dotnet-install.sh --channel 6.0.3xx --quality daily --install-dir .
./dotnet --info
./dotnet workload install maui --from-rollback-file https://aka.ms/dotnet/maui/main.json --configfile NuGet.config

git clone https://github.com/microsoft/dotnet-podcasts.git

cd dotnet-podcasts/src/Mobile
cp Microsoft.NetConf2021.Maui.csproj Microsoft.NetConf2021.Maui.csproj.bak
sed -i'' -e 's/net6.0-ios;net6.0-maccatalyst/net6.0-ios/g' Microsoft.NetConf2021.Maui.csproj
../../../dotnet build ../Web/Components/Podcast.Components.Maui.csproj
../../../dotnet build Microsoft.NetConf2021.Maui.csproj -bl:MauiPodcastiOS.binlog -f net6.0-ios --self-contained -r ios-arm64 -c Release /p:_RequireCodeSigning=false
cp Microsoft.NetConf2021.Maui.csproj.bak Microsoft.NetConf2021.Maui.csproj

Version with bug

Preview 14 (current)

Last version that worked well

Unknown/Other

Affected platforms

iOS

Affected platform versions

iOS

Did you find any workaround?

No response

Relevant log output

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

@mkArtakMSFT this is likely a problem with how the BlazorWebView MAUI package combines the Razor SDK and iOS SDK, so it’s most likely something @javiercn could help with.

Thanks @eerhardt. That task is indeed defined in the MacDev.Tasks namespace, so they will have to look into this.

Here is a .binlog of trying to build the app on IOS:

MauiPodcastiOS.zip

There are 50 errors all coming from the CollectBundleResources task.

Given this, I think this might be an iOS tooling issue. @rolfbjarne @spouliot @dalexsoto - can someone on your team have a look?

Click to see binlog
CollectBundleResources
    Assembly = /Users/eerhardt/git/maui/bin/dotnet/packs/Microsoft.iOS.Sdk/15.2.303-rc.1.55/tools/msbuild/iOS/../iOS/Xamarin.iOS.Tasks.dll
    Parameters
        ProjectDir = /Users/eerhardt/git/dotnet-podcasts/src/Web/Components
        BundleResources
            ListenTogether/Emojis/EmojiPanel.razor
                ExcludeFromSingleFile = true
            ListenTogether/Emojis/EmojiPanelButton.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogether.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogetherEmptyRoom.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogetherEpisode.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogetherInvite.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogetherJoinRoom.razor
                ExcludeFromSingleFile = true
            ListenTogether/ListenTogetherRoom.razor
                ExcludeFromSingleFile = true
            ListenTogether/UsernameForm.razor
                ExcludeFromSingleFile = true
            Player/FloatingPlayer.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/ClappingHandsEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/CryingFaceEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/FaceTearsOfJoyEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/HeartEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/ThumbsDownEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Emojis/ThumbsUpEmoji.razor
                ExcludeFromSingleFile = true
            Shared/Grid/Card.razor
                ExcludeFromSingleFile = true
            Shared/Grid/Grid.razor
                ExcludeFromSingleFile = true
            Shared/Modal.razor
                ExcludeFromSingleFile = true
            Shared/NoResults.razor
                ExcludeFromSingleFile = true
            Shared/Picture.razor
                ExcludeFromSingleFile = true
            Shared/PlayerBars.razor
                ExcludeFromSingleFile = true
            Shared/Spinner.razor
                ExcludeFromSingleFile = true
            Shared/SubtitlePage.razor
                ExcludeFromSingleFile = true
            Shared/Tags.razor
                ExcludeFromSingleFile = true
            Shared/TitlePage.razor
                ExcludeFromSingleFile = true
            Shared/ToggleSwitch.razor
                ExcludeFromSingleFile = true
            Shared/Tooltip.razor
                ExcludeFromSingleFile = true
            _Imports.razor
                ExcludeFromSingleFile = true
            wwwroot/audioJsInterop.js
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/button.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/fonts/SegoeUI.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/fonts/SegoeUIBold.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/fonts/SegoeUILight.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/fonts/SegoeUISemibold.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/fonts/SegoeUISemilight.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/icons/fonts/podcast-icons.svg
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/icons/fonts/podcast-icons.ttf
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/icons/fonts/podcast-icons.woff
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/icons/style.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/input.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/reset.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/site.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/splash.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/css/styles.css
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/images/bg-splash.jpg
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/images/bot-wait.svg
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/images/empty-results.png
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/images/logo-icon.svg
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
            wwwroot/themeJsInterop.js
                ExcludeFromSingleFile = true
                CopyToPublishDirectory = PreserveNewest
        ResourcePrefix = Resources
        OptimizePropertyLists = True
        OptimizePNGs = True
        TargetFrameworkMoniker = .NETCoreApp,Version=v6.0,Profile=ios
    Errors
        ListenTogether/Emojis/EmojiPanel.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/Emojis/EmojiPanel.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/Emojis/EmojiPanelButton.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/Emojis/EmojiPanelButton.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogether.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogether.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogetherEmptyRoom.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogetherEmptyRoom.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogetherEpisode.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogetherEpisode.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogetherInvite.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogetherInvite.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogetherJoinRoom.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogetherJoinRoom.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/ListenTogetherRoom.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/ListenTogetherRoom.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        ListenTogether/UsernameForm.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/ListenTogether/UsernameForm.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Player/FloatingPlayer.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Player/FloatingPlayer.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/ClappingHandsEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/ClappingHandsEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/CryingFaceEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/CryingFaceEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/FaceTearsOfJoyEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/FaceTearsOfJoyEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/HeartEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/HeartEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/ThumbsDownEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/ThumbsDownEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Emojis/ThumbsUpEmoji.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Emojis/ThumbsUpEmoji.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Grid/Card.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Grid/Card.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Grid/Grid.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Grid/Grid.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Modal.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Modal.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/NoResults.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/NoResults.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Picture.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Picture.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/PlayerBars.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/PlayerBars.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Spinner.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Spinner.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/SubtitlePage.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/SubtitlePage.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Tags.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Tags.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/TitlePage.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/TitlePage.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/ToggleSwitch.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/ToggleSwitch.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        Shared/Tooltip.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/Shared/Tooltip.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        _Imports.razor The path '../../../../../../../../dotnet-podcasts/src/Web/Components/_Imports.razor' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/audioJsInterop.js The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/audioJsInterop.js' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/button.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/button.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/fonts/SegoeUI.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/fonts/SegoeUI.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/fonts/SegoeUIBold.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/fonts/SegoeUIBold.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/fonts/SegoeUILight.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/fonts/SegoeUILight.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/fonts/SegoeUISemibold.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/fonts/SegoeUISemibold.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/fonts/SegoeUISemilight.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/fonts/SegoeUISemilight.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/icons/fonts/podcast-icons.svg The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/icons/fonts/podcast-icons.svg' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/icons/fonts/podcast-icons.ttf The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/icons/fonts/podcast-icons.ttf' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/icons/fonts/podcast-icons.woff The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/icons/fonts/podcast-icons.woff' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/icons/style.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/icons/style.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/input.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/input.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/reset.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/reset.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/site.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/site.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/splash.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/splash.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/css/styles.css The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/css/styles.css' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/images/bg-splash.jpg The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/images/bg-splash.jpg' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/images/bot-wait.svg The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/images/bot-wait.svg' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/images/empty-results.png The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/images/empty-results.png' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/images/logo-icon.svg The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/images/logo-icon.svg' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]
        wwwroot/themeJsInterop.js The path '../../../../../../../../dotnet-podcasts/src/Web/Components/wwwroot/themeJsInterop.js' would result in a file outside of the app bundle and cannot be used.
         [/Users/eerhardt/git/dotnet-podcasts/src/Web/Components/Podcast.Components.Maui.csproj]