In some specific language (az, tr, ku, etc), FileNotFoundException is occurred even... accepted/tizen/5.5/unified/20200413.002422 submit/tizen_5.5/20200410.075951
authorWoongsuk Cho <ws77.cho@samsung.com>
Thu, 9 Apr 2020 06:33:01 +0000 (15:33 +0900)
committer이형주/Common Platform Lab(SR)/Staff Engineer/삼성전자 <leee.lee@samsung.com>
Fri, 10 Apr 2020 01:03:59 +0000 (10:03 +0900)
commit5e9b8f96af52c959a91bd85e1172c69029bf5466
tree6c4cff71aefed2d7ea18ea409e13461db1eaba62
parent77124debdc4f174980425783923b40772228fbbe
In some specific language (az, tr, ku, etc), FileNotFoundException is occurred even though the dll exist.

coreclr keep TPA lists at hashmap(SimpleNameToFileNameMap) in the applicationcontext.
To add TPA to hashmap, hash code is generated by hash() function with simple name of dll.
In that hash function, towupper() function is used.
The return value of towupper() can be changed by locale setting.

Also, when lookup in hashmap, towlower() function is called for comparing values,
and the return value of this function also changed according to locale.

To prevent key mismatch issue by locale change, set to the locale before coreclr_initialize().
NativeLauncher/launcher/lib/dotnet_launcher.cc