質問

私は複数の言語をサポートするためのリソースファイルを使用してasp.netで構築されたWebアプリケーションを、持っています。私が持っている問題は、私が唯一のVisual Studioで新しい言語ファイルを追加できるということである、と私は新しい言語が含ま持っているアプリケーション全体を再構築する必要があります。ネットを検索した後、私はリソースファイルのコンパイルが.NETコンパイラで行うことができることを発見しました。私は、次のコマンドを使用しました。

resgen.exe / langfile.en.resxをコンパイル

al.exe /out:en\App_GlobalResources.resources.dll /文化:EN / embedresource:LANGFILE .en.resources

ファイルは、Webサイトのフォルダにコピーされますが、それは動作しません。私は、Webページから新しい言語を選択すると、文字列は、デフォルトのリソースファイルからロードされている、意味します。私はVSでのリソースファイルを作成した場合、それは大丈夫動作します。私は2つのdllファイル、VSによって生成された1と自分でコンパイルした1の大きさをチェックし、彼らは同じ大きさを持っていますが、コンパイル済みの1は動作しません。私は多分、私が上記のコマンドでは、いくつかの他のパラメータを使用する必要がありますが、私は本当に知らないことを考えることができます。

すべてのヘルプは本当に感謝されます。

役に立ちましたか?

解決

あなたは独自の式ビルダーを書く代わりに、組み込みのリソースのバージョンを使用して、あなたが望むものを達成し、データベースやXMLファイルから情報を引き出すことができます。基本的にはSystem.Web.Compilation.ExpressionBuilderから継承する独自のクラスを記述し、このようにWeb.configファイルに登録します:

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

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

<%$ CustomResources:Section, Key %>

あなたはこのここここを。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top