ソリューション内の複数のプロジェクトからリソース ファイルを参照する

StackOverflow https://stackoverflow.com/questions/39065

  •  09-06-2019
  •  | 
  •  

質問

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

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

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

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

役に立ちましたか?

解決

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

他のヒント

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

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

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

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

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

このような状況に対処する方法に関する役立つアドバイスは、次のとおりです。

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

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