2016-07-12 11 views
0

こんにちは。私は解決策で2つのプロジェクトを持っています。プロジェクトAとプロジェクトB. BにはAへの参照があります。したがって、AはBのクラスと関数を使用します。 Bには、すべてのビジネス機能のみが含まれているため、リソースファイルはありません。 Aにはすべてのリソースファイルが含まれています。私はAからBへのリソースファイルを使用する必要があります。私はBのAを参照することはできません。 私のメインプロジェクトを展開し、それはBを参照しました。しかし、(プロジェクトの)リソースファイルをBプロジェクトでは、BのAライブラリを参照せずに実行することができます。別のプロジェクトからリソースファイルにアクセスするC#.Net

+0

AからのアセンブリはBと同じプロセスで読み込まれます.Aの一部として、アセンブリ参照を渡します.Aはリソースを読み込むときにその参照を使用できます。 – Richard

+0

コードで少し書くことができますか?私はBで使用したいAのリソースファイルを持っていますが、Aへの参照を追加しません。 –

+0

'var resStrm = otherAsm.GetManifestResourceStream(name)'は、リソース(または 'アセンブリ ')、すべてのアセンブリAのニーズは、リソースを含むアセンブリへの参照です。 – Richard

答えて

0

AとBの両方が使用できるリソースを含む別々のプロジェクトCを作成できます。

+0

こんにちはマーク:BはAのリソースファイルからほんの少しの文字列を必要とします。他の方法はありますか他のクラスCを作成していませんか? Ref。によってリソースファイルを呼び出すことが知られていますか? –

0

うわー、私は最終的にいくつかの検索からそれを見つけました。 Bから、リソースファイルをAにリンクしました。右クリックB-追加 - 既存アイテム - リソースファイルをA(myresrc-en.resxとmyresrc-fr.resx)でブラウズ - 両方のリンクを追加します。今すぐBで、 ResourceManager rmg =新しいResourceManager( "B.myresrc" Assembly.GetExecutingAssembly()); 文字列str1 = rmg.GetString( "rexTxt"); --- rexTxtはあなたのresxファイル内の任意の文字列です。 完璧に機能しました。 元のリソースは変更しないでください。これらはすでに埋め込みリソースでした。

お楽しみください!

関連する問題