Share via

Missing ResourceRules.plist in MAUI archive process

Jai Holloway 60 Reputation points
2026-05-05T06:45:28.42+00:00

Hi there

We had a XAMARIN app which was upgraded to .NET 8 MAUI, which was then upgraded to .NET 10 MAUI. I can no longer build in .NET 8, which is why the upgrade happened. I am now trying to archive the file in .NET 10 but am getting an error that the resourcerules.plist file is missing.

I have read that you need to set the build action for Entitlements.plist to BundleResource, but there that option is not available for a build action. Please help, this is quite urgent, our XAMARIN app no longer works as we got hacked and our on-prem sql server is no longer available.

thanks

Jai

Developer technologies | .NET | .NET MAUI

3 answers

Sort by: Most helpful
  1. Nancy Vo (WICLOUD CORPORATION) 3,465 Reputation points Microsoft External Staff Moderator
    2026-05-05T08:04:28.4066667+00:00

    Hello @Jai Holloway ,

    Thanks for your question.

    The fix you found (setting Build Action to BundleResource) was the Xamarin way. In .NET MAUI, that option no longer exists in the IDE. Instead, Entitlements.plist should be configured through the .csproj file. Without this configuration, the archive process may not complete code signing and fails looking for ResourceRules.plist.

    I recommend the following steps:

    Step 1 — Make sure Entitlements.plist exists at: YourApp/Platforms/iOS/Entitlements.plist

    If missing, create it:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
      "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    </dict>
    </plist>
    

    Step 2 — Open your .csproj file and add:

    <PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
        <CodesignEntitlements>Platforms/iOS/Entitlements.plist</CodesignEntitlements>
        <CodesignKey>iPhone Distribution</CodesignKey>
        <CodesignProvision>YOUR_PROVISIONING_PROFILE_NAME</CodesignProvision>
    </PropertyGroup>
    

    Step 3 — Clean and restore:

    dotnet workload update
    dotnet restore
    

    Step 4 — Try archiving again and let me know if it works.

    I hope this addresses your question. If this response was helpful, please consider following the guidance to provide feedback.

    0 comments No comments

  2. Jai Holloway 60 Reputation points
    2026-05-05T06:48:50.6933333+00:00

    I have done that and it still doesn't work

    0 comments No comments

  3. Q&A Assist
    2026-05-05T06:45:40.1833333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    In .NET MAUI for iOS, entitlements and resource rules are handled differently than in older Xamarin projects, and the ResourceRules.plist file is no longer something that must be present or manually managed.

    To resolve issues around entitlements and the archive process in a .NET 10 MAUI iOS app, ensure the app is consuming entitlements correctly via the project properties instead of trying to set Entitlements.plist as a BundleResource:

    1. In Visual Studio, open Solution Explorer.
    2. Right-click the .NET MAUI app project and select Properties.
    3. Go to the iOS > Bundle Signing tab.
    4. In Bundle Signing, use the Browse... button next to Custom Resource Rules.
    5. Select the existing Entitlements.plist file and click Open.
    6. Confirm that the Custom Resource Rules field is now populated with the entitlements file path, then close the project properties.

    Visual Studio will then apply the entitlements for both Debug and Release builds, including when archiving. There is no need to change the build action of Entitlements.plist to BundleResource; instead, it must be wired up through the iOS Bundle Signing settings as described.

    If the project was migrated from Xamarin, also verify that any old iOS project items that referenced ResourceRules.plist are removed or updated, and that the iOS-specific configuration is now driven by the MAUI project file and the iOS properties pages rather than legacy Xamarin settings.


    References:

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.