2016-10-10 7 views
0

異なるコンピュータ上で文化の異なるセットを返さない:はなぜCultureInfo.GetCultures(CultureTypes.SpecificCultures)は、私は別のコンピュータに以下のコード行を実行する場合、私は別の結果を得る

int cultureCount = CultureInfo.GetCultures(CultureTypes.SpecificCultures).Count(); 

のWindows 10上で。 .NET 4.0 cultureCount = 554 .NET 4.0とWindows 7で

cultureCount = 210

と別のWindows 10上の正味4.0 cultureCount = 535

異なるコンピュータで異なる結果が得られる理由はありますか?

すべてのコンピュータに存在することが保証されている標準的な文化がありますか? MSDNからこのリンクによると

+2

.NETでは、OSによってサポートされているカルチャも公開されています。ますます増えている数字。 Win10のビルド番号は重要ですが、これまでに3つあります。 *これらの追加はあまりにも明白ではありません。 –

+0

@HansPassant情報に感謝します。だから、Windows XPマシンですべての文化を手に入れたら、そのセットはXPを実行しているマシンであればいつでも利用できるはずです。 – tjsmith

答えて

1

https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.110).aspx

は、カルチャ名と識別子は、特定のコンピュータ上で見つけることができる文化のサブセットのみを表していることに注意してください。 WindowsのバージョンまたはService Packによって、使用可能なカルチャが変更される可能性があります。

異なる文化の理由は、Windowsまたはサービスパックの違いです。

しかし、最小限の培養が存在することを示唆するMicrosoftのリンクは見つかりませんでした。私の見解では、Windowsの後のバージョンには古い文化が含まれています。

私の解決方法は、古いバージョンのWindowsをチェックしてそこにカルチャが存在することを確認することです。もしそうでなければ、私は後方支援のためのカスタムカルチャーを構築するでしょう。

関連する問題