Guys I'm developing an application that will run across multiple machines. I've recently introduced Cultures
in it to support all currencies.
I have 2 main development PCs and I move code between them. One is a Windows 8 laptop, while the other is a Windows 7 PC.
It seems that the list of SpecificCultures
in these two machines is NOT the same. When the executable runs on Windows 8, a few more SpecificCultures
are returned, and some existing ones are also renamed.
I used the following code to text file dump all Specific Cultures:
StringBuilder sb = new StringBuilder();
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
sb.Append(ci.Name + "\t" + new RegionInfo(ci.LCID).CurrencyEnglishName);
sb.AppendLine();
}
StreamWriter f = new StreamWriter(@"specificCulturesFound.txt");
f.Write(sb);
f.Close();
The SpecificCultures
returned from my Windows 8 Laptop is this: http://pastebin.com/cznLRG62
The SpecificCultures
returned from my Windows 7 PC is this: http://pastebin.com/MwMXwSdb
If you compare them in Notepad++ or something, you'll see differences.
For Example: For example, the et-EE Estonian Kroon
entry is only available on my Windows 7 PC, while ku-Arab-IQ Iraqi Dinar
is only available on Windows 8 Laptop
Question is, how can I deal with this situation ? Once the application is released, it will be run on different machines with different .NET framework versions.
Is there a way to maybe export all collected CultureInfo data with the application, so that can be used instead of getting it from the installed .NET framework ?