ToUpper and ToLower functions are locale dependent so they will have different behaviors on different locales and their usage should be avoided.
I've changed the code to use locale invariant comparison string functions and changed the other uses of ToUpper and ToLower to their locale invariant versions.
The Build.bat fix is required to be able to use it with VS2022, I know that paths for VS2022
could be hardcoded instead but removing them altogether is future-proof.
The Build.bat should be ran through the Developer PowerShell that the VS provides instead.
While the Invariant versions have a shorter execution time, the main reason behind the changes was fixing the Turkish 'İ' problem as it caused significantly different behaviours on systems with the tr-TR locale.
ToUpper and ToLower functions are locale dependent so they will have different behaviors on different locales and their usage should be avoided. I've changed the code to use locale invariant comparison string functions and changed the other uses of ToUpper and ToLower to their locale invariant versions. The Build.bat fix is required to be able to use it with VS2022, I know that paths for VS2022 could be hardcoded instead but removing them altogether is future-proof. The Build.bat should be ran through the Developer PowerShell that the VS provides instead.