From: Tarek Mahmoud Sayed Date: Thu, 29 Jun 2017 19:32:30 +0000 (-0700) Subject: Make ResourceManager netstandard 2.0 API behave correctly (#12536) X-Git-Tag: accepted/tizen/base/20180629.140029~1083^2~311 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=88e0428caa33fd04bd8f5f8bc1a60b6a44b93622;p=platform%2Fupstream%2Fcoreclr.git Make ResourceManager netstandard 2.0 API behave correctly (#12536) * Make ResourceManager netstandard 2.0 API behave correctly In netstandard 2.0 we have enabled the APIs like GetObject, GetStream,..etc. these are not functioning correctly in UWP apps because was assuming we always uses PRI files. The changes here is to initialize the managed resources too and let these APIs behave as if we are running inside desktop app. * added #ifdef * Remove the throwing as PRI can handle case insenitive lookup * remove un-needed resources --- diff --git a/src/mscorlib/src/System/Resources/ResourceManager.cs b/src/mscorlib/src/System/Resources/ResourceManager.cs index 994aa8c..92b935d 100644 --- a/src/mscorlib/src/System/Resources/ResourceManager.cs +++ b/src/mscorlib/src/System/Resources/ResourceManager.cs @@ -438,18 +438,16 @@ namespace System.Resources // security check in each constructor prevents it. private void CommonAssemblyInit() { - if (_bUsingModernResourceManagement == false) - { - UseManifest = true; + // Now we can use the managed resources even when using PRI's to support the APIs GetObject, GetStream...etc. + UseManifest = true; - _resourceSets = new Dictionary(); - _lastUsedResourceCache = new CultureNameResourceSetPair(); + _resourceSets = new Dictionary(); + _lastUsedResourceCache = new CultureNameResourceSetPair(); - _fallbackLoc = UltimateResourceFallbackLocation.MainAssembly; + _fallbackLoc = UltimateResourceFallbackLocation.MainAssembly; - ResourceManagerMediator mediator = new ResourceManagerMediator(this); - resourceGroveler = new ManifestBasedResourceGroveler(mediator); - } + ResourceManagerMediator mediator = new ResourceManagerMediator(this); + resourceGroveler = new ManifestBasedResourceGroveler(mediator); _neutralResourcesCulture = ManifestBasedResourceGroveler.GetNeutralResourcesLanguage(MainAssembly, ref _fallbackLoc); }