我创建了一个可以在运行时切换文化的应用程序。但是现在我想在应用程序运行时向我的应用程序添加一个新的Satellite程序集。我将特定的文化文件夹(例如文件夹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);
但是没有任何反应,我一直看到旧的文化,但没有显示增加的文化。只有当我停止并启动应用程序时,新文化才会添加到组合框中。
是否可以在运行时添加附属装配?或者我是否总是要重新启动应用程序?
答案 0 :(得分:0)
您必须重新启动该应用程序。如果不这样做,Web应用程序将不会注册bin文件夹中找到的类型。
通常,web.config中的触摸会触发应用程序重新启动。