1

3 層の .NET 2.0 アプリがあります。プレゼンテーション層は中間層を参照します。中間層はデータベース層を参照します。何らかの理由で、コンパイルすると、データ層の dll がプレゼンテーション層のビンに表示されます。どうすればこれを止めることができますか?

4

4 に答える 4

1

参照プロパティで Copy Local を false に設定する

于 2009-06-16T19:55:39.497 に答える
1

これを止める唯一の方法は、1 つ以上の層をサービス レイヤー (または同様のもの) にして、層を物理的に分離することです。

個別の層が相互にコンパイルされているため、アプリケーション全体が適切に機能するには、アセンブリが存在する必要があります。すべてのアセンブリがなくても、アプリケーションがどのように機能すると思いますか?

于 2009-06-16T19:55:55.627 に答える
1

依存関係と呼ばれるものがあるので、コピーしても問題ありません。中間層は、中間層の DataAccess と UI に依存します。UI からのデータ アクセスを参照しないようにだけ追跡する必要があります。

于 2009-06-16T20:34:50.947 に答える
0

通常、私は次のように物理層アプリケーションを実行します。

  1. UI
  2. プレゼンター
  3. ビジネスの論理
  4. データアクセス
  5. 実在物

しかし、私はこの組織に対する私の見方を変えています。私はたくさんのプロジェクトを行ってきましたが、そのうちのいくつかはメンテナンスと改善を要求します。この組織は一枚岩すぎると思い始めます。Ted Faison、Tomas Erl、Robert C. Martin、Andy Auntのような一部の著者は、この階層的なアプローチは一種の素朴であると述べています。

とにかく...ロジックを別々のプロジェクトに入れて、それらを別個のアセンブリとして構築します。階層参照を作成すると、必要なものが得られます。

于 2009-08-04T21:30:07.310 に答える