0

順番にプロジェクトのリストがある場合。

1. Commons
2. DAL
3. BAL
4. WebUI

上記のプロジェクトでは、参照はこのように行われる必要があります。

DAL refer's to Commons.
BAL refer's to DAL.
WebUI refer's to BAL.

それで、Commonsで定義されているオブジェクトを返すWebUIからBALのメソッドにアクセスしているときにエラーが発生するのはなぜですか。プロジェクトの依存関係では、WebUIは3つのプロジェクトすべてに依存します。ただし、簡単にするために、WebUIプロジェクトにCommon、BAL、DALの参照を含めたくありません。しかし、私が望むのは、依存するすべてのプロジェクトの参照があれば、それを自動的に含める必要があります。

Visual Studioのこの予期しない動作を取り除く方法について、誰かが私を助けてくれますか?

4

2 に答える 2

4

で定義されているタイプをWebUI使用する場合はCommonsCommonsプロジェクトをプロジェクトへの参照として含める必要がWebUIあります。型が、プロジェクトが使用している別のアセンブリ(つまりBAL)で宣言されているメソッドへの戻り型として使用されている場合でも。WebUI

これを回避する方法は本当にありません。

于 2013-03-18T16:36:36.843 に答える
1

プロジェクトでDLLを参照する場合、DLLのコードはプロジェクトに含まれません(コピーされません)。BALに定義されたオブジェクトを返す場合は、Commonsへの参照も必要になるWebUIため、返される型を認識できます。WebUICommons

これを回避する方法が必要な場合は、ILMergeを使用してアセンブリをマージしてから、マージされたアセンブリを参照することができます。ソフトウェアのリリース中にこれを行うことをお勧めします。そうしないと、開発とデバッグがより面倒になるようです。

于 2013-03-18T16:37:41.770 に答える