実行時にカルチャを切り替えることができるアプリケーションを作成しました。しかし、アプリケーションが実行され続けている間に、新しいサテライトアセンブリをアプリケーションに追加したいと思います。特定のカルチャフォルダー(ファイルが含まれているフォルダーなど)をアプリケーションフォルダーにコピーしてaf
からLocalisation.resources.dll
、次のコードを実行します。
ResourceManager rm = new ResourceManager(ResxExtension.GetDefaultResxName(this), this.GetType().Assembly);
radComboBox1.Items.Clear();
foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures).OrderBy(x => x.DisplayName))
{
ResourceSet resourceSet = rm.GetResourceSet(ci, true, false);
if (resourceSet != null)
radComboBox1.Items.Add(ci);
}
// Show CurrentUICulture in the combobox
radComboBox1.SelectedItem = GetResourceCulture(CultureManager.UICulture, rm);
しかし、その後は何も起こりません。古い文化を見続けますが、追加された文化は表示されません。アプリケーションを停止して開始した場合にのみ、新しいカルチャがコンボボックスに追加されます。
実行時にサテライトアセンブリを追加することは可能ですか?または、常にアプリケーションを再起動する必要がありますか?