In some specific language (az, tr, ku, etc), FileNotFoundException is occurred even... accepted/tizen/unified/20200413.070825 submit/tizen/20200410.075941
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 00:45:10 +0000 (09:45 +0900)
commite25e6e3e81b49568dcfd34382ae58455e907c8ff
tree6c4cff71aefed2d7ea18ea409e13461db1eaba62
parentd65c9145191f5d6360109a81169a8fa8136a4866
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