diff --git a/src/libraries/System.Globalization/tests/IcuAppLocal/IcuAppLocal.cs b/src/libraries/System.Globalization/tests/IcuAppLocal/IcuAppLocal.cs index af8d59d7225f42..92355058306af3 100644 --- a/src/libraries/System.Globalization/tests/IcuAppLocal/IcuAppLocal.cs +++ b/src/libraries/System.Globalization/tests/IcuAppLocal/IcuAppLocal.cs @@ -31,6 +31,9 @@ public void TestIcuAppLocal() RemoteExecutor.Invoke(() => { + // Start with calling Globalization to force the initialization. + CultureInfo ci = CultureInfo.GetCultureInfo("en-US"); + Type? interopGlobalization = Type.GetType("Interop+Globalization, System.Private.CoreLib"); Assert.NotNull(interopGlobalization); @@ -41,8 +44,8 @@ public void TestIcuAppLocal() Assert.Equal(0x44020009, (int)methodInfo.Invoke(null, null)); // Now call globalization API to ensure the binding working without any problem. - Assert.Equal(-1, CultureInfo.GetCultureInfo("en-US").CompareInfo.Compare("sample\u0000", "Sample\u0000", CompareOptions.IgnoreSymbols)); - }, new RemoteInvokeOptions { StartInfo = psi }).Dispose(); + Assert.Equal(-1, ci.CompareInfo.Compare("sample\u0000", "Sample\u0000", CompareOptions.IgnoreSymbols)); + }, new RemoteInvokeOptions { CheckExitCode = false, StartInfo = psi }).Dispose(); } } }