8

複数のプロジェクトで構成される asp.net アプリケーションのローカリゼーションに取り組んでいます。

このために、これらのプロジェクトのいくつかで使用される文字列がいくつかあります。当然のことながら、各プロジェクトにリソース ファイルのコピーを 1 つだけ配置することをお勧めします。

リソース ファイルには名前空間がないため (少なくとも私が知る限り)、通常のクラスのようにアクセスすることはできません。

同じソリューション内の別のプロジェクトで resx ファイルを参照する方法はありますか?

4

3 に答える 3

11

クラス ライブラリ プロジェクトを作成し、そこにリソース ファイルを追加して、共通リソースのアセンブリを参照するだけです。

于 2008-09-02T09:16:56.497 に答える
5

私は以前にこのソリューションを使用して、ソリューション内のすべてのプロジェクト間でアセンブルinfo.csファイルを共有しましたが、同じことがリソースファイルでも機能すると思います。

個々のプロジェクト/クラスライブラリにリンクされたファイルを作成します。コピーは1つだけで、すべてのプロジェクトはコンパイル時にリンクされたファイルを介してコードへの参照を持ちます。コードを複製せずに共有された非公開リソースを解決するための非常に洗練されたソリューションです。

<Compile Include="path to shared file usually relative">
  <Link>filename for Visual Studio To Dispaly.resx</Link>
</Compile>

そのコードをcsprojファイルのcomplileitemグループに追加し、パスをresxファイルへの実際のパスに置き換えると、それらを開くことができるようになります。

1つのプロジェクトファイルに対してこれを実行すると、csprojをハックすることなく、リンクされたファイルを他のプロジェクトにコピーアンドペーストできるようになります。

于 2008-09-02T10:16:03.593 に答える
4

このような状況を管理する方法に関するいくつかの役立つアドバイスは、次の場所にあります。

http://www.codeproject.com/KB/dotnet/Localization.aspx

于 2008-09-02T09:13:17.410 に答える