2009-03-24 11 views
2

リソースファイルを使用して複数の言語をサポートするasp.netで構築されたWebアプリケーションがあります。私が持っている問題は、Visual Studioで新しい言語ファイルを追加できるだけなので、アプリケーション全体を再構築して新しい言語を組み込む必要があるということです。ネットを検索した後、.netコンパイラでリソースファイルのコンパイルを行うことができます。 /out:en\App_GlobalResources.resources.dll /文化al.exeライブラリへのリソースファイルのコンパイルに関する問題

langfile.en.resxコンパイル/

resgen.exe:私は、次のコマンドを使用しましたLANGFILE .EN:/ embedresourceエン.resources

ファイルはWebサイトのフォルダにコピーされますが、機能しません。つまり、Webページから新しい言語を選択すると、文字列はデフォルトのリソースファイルからロードされます。私はVSでリソースファイルを作成する場合、それは問題なく動作します。 VSで生成されたものと自分でコンパイルされたものの2つのdllファイルのサイズを調べましたが、サイズは同じですがコンパイルされたものは動作しません。上記のコマンドで他のパラメータを使わなければならないかもしれないと思うかもしれませんが、実際にはわかりません。

本当にありがとうございます。

+0

リソースをアセンブリにコンパイルする必要がありますか? – RobS

答えて

3

組み込みのリソースバージョンを使用せずに独自の式ビルダーを作成し、データベースまたはXMLファイルから情報を取得することで、必要なものを実現できます。基本的にはSystem.Web.Compilation.ExpressionBuilderから継承する独自のクラスを記述し、このようにWeb.configファイルに登録:

<compilation> 
    <expressionBuilders> 
    <add expressionPrefix="CustomResources" type="CustomResourcesExpressionBuilder"/> 
    </expressionBuilders> 
</compilation> 

をして、あなたは、通常のリソースのようにそれを参照することができます。

<%$ CustomResources:Section, Key %> 

このherehereに関する記事があります。

関連する問題