Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at

  • Kåre Mai 26 posts 164 karma points
    Nov 01, 2023 @ 11:24
    Kåre Mai

    Unable to run Umbraco 12 after upgrade from Umbraco 11.4.1


    If i upgrade from Umbraco 11.4.1 in Nuget packet manager to Umbraco 12.2.0 then i can't run my project anymore. It fails with the following exception inside GlobalizationMode.cs -> LoadLibrary:

      Message=Exception of type 'System.ExecutionEngineException' was thrown.

    The method which fails:

    private static IntPtr LoadLibrary(string library, bool failOnLoadFailure)
        if (!NativeLibrary.TryLoad(library, typeof(object)!.Assembly, DllImportSearchPath.ApplicationDirectory | DllImportSearchPath.System32, out var handle) && failOnLoadFailure)
            Environment.FailFast("Failed to load app-local ICU: " + library);
        return handle;

    I have no clue why this happens and why it seems that no one else if having this issue! There is nothing special about my Umbraco project at all.

  • Huw Reddick 1684 posts 5917 karma points MVP c-trib
    Nov 01, 2023 @ 13:47
    Huw Reddick

    Have you by any chance updated this nuget package?


    If you did then you should roll it back to ver

  • Kåre Mai 26 posts 164 karma points
    Nov 01, 2023 @ 17:23
    Kåre Mai

    Hi Huw,

    Yes, i updated all nuget packages with available updates.

    I now downgraded the ICU package and now it works! May i ask where you've found the information about this incompatibility with the latest ICU package?

    I generally update all the packages available when also updating Umbraco. Is there any documentation anywhere that documents when you can update the other packages used by Umbraco?

  • Huw Reddick 1684 posts 5917 karma points MVP c-trib
    Nov 01, 2023 @ 17:29
    Huw Reddick

    It has come up before, maybe on discord. I also had the same issue myself in v10

  • andrew shearer 501 posts 647 karma points
    15 days ago
    andrew shearer

    this one had me stumped for a while, so leaving a comment for anyone else that finds themselves here :)

    make sure these two lines have the same version in your proj file:

        <!-- Opt-in to app-local ICU to ensure consistent globalization APIs across different platforms -->
    <PackageReference Include="Microsoft.ICU.ICU4C.Runtime" Version="" />
    <RuntimeHostConfigurationOption Include="System.Globalization.AppLocalIcu" Value="" Condition="$(RuntimeIdentifier.StartsWith('linux')) or $(RuntimeIdentifier.StartsWith('win')) or ('$(RuntimeIdentifier)' == '' and !$([MSBuild]::IsOSPlatform('osx')))" />

    I somehow had ended up with "" on that second one and the app wouldn't boot with a:

    Exception of type 'System.ExecutionEngineException'
Please Sign in or register to post replies

Write your reply to: