【问题标题】:Add Satellite Assemblies at runtime在运行时添加附属程序集
【发布时间】:2013-03-08 09:15:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net satellite-assembly resourcemanager


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-18
      • 2013-03-04
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多