2

我创建了一个可以在运行时切换文化的应用程序。但是现在我想在应用程序继续运行时向我的应用程序添加一个新的卫星程序集。我将特定的文化文件夹(例如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);

但随后什么也没有发生,我一直看到旧文化,但没有显示添加的文化。只有当我停止并启动应用程序时,新的文化才会添加到组合框中。

是否可以在运行时添加卫星程序集?还是我总是必须重新启动应用程序?

4

1 回答 1

0

您必须重新启动应用程序。如果您不这样做,Web 应用程序将不会注册在 bin 文件夹中找到的类型。

通常,触摸 web.config 会触发应用程序重新启动。

于 2013-12-06T17:24:59.963 回答