0

から動的に派生したリソースを管理するクラスを作成しましたComponentResourceManager

public class MyResourceManager : ComponentResourceManager
{
    public MyResourceManager(Type _t, Langue _lang) : base(_t)
    {
        if (_lang == Langue.French)
        {
            MainAssembly = Assembly.LoadFile("c:/myCustomFolder/french.dll");
        }
        else
        {
            MainAssembly = Assembly.LoadFile("c:/myCustomFolder/english.dll");
        }
    }
}

コントロールにリソースを適用しようとすると、例外が発生します

public static void UpdateLanguage(Control c, Langue _lang)
{
    MyResourceManager language = new MyResourceManager(c.GetType(), _lang);
    language.ApplyResources(c, c.Name);
}

発生した例外: (ApplyResources が呼び出されたとき)

タイプ 'System.Resources.MissingManifestResourceException' の未処理の例外が mscorlib.dll で発生しました

追加情報: 指定されたカルチャまたはニュートラル カルチャに適したリソースが見つかりませんでした。コンパイル時に "MyAppName.MyFormName.resources" がアセンブリ "MyAppName.resources" に正しく埋め込まれているかリンクされていること、または必要なすべてのサテライト アセンブリが読み込み可能で完全に署名されていることを確認してください。

アイデアはありますか?

4

1 に答える 1

0

これの最も一般的な理由は、リソース ファイルの作成後に名前空間名を変更したか、リソース ファイルのビルド アクションが埋め込みリソースに設定されていないことです。

于 2013-03-01T08:12:46.987 に答える