表示层引用数据层

时间:2009-06-16 19:53:44

标签: .net n-tier-architecture 3-tier

我有一个3层.NET 2.0应用程序。表示层引用中间层。中间层引用数据库层。出于某种原因,当我编译时,数据层的dll出现在表示层的bin中。我该如何阻止它?

4 个答案:

答案 0 :(得分:1)

在参考属性

中将Copy Local设置为false

答案 1 :(得分:1)

阻止这种情况的唯一方法是使您的一个或多个层级成为服务层(或类似的东西),以便将您的层层分开。

由于您的单独层是相互编译的,因此程序集需要在那里才能使整个应用程序正常运行。您如何设想应用程序在没有所有程序集的情况下工作?

答案 2 :(得分:1)

可以复制,因为有称为依赖项。您的中间层依赖于中间层上的DataAccess和UI。您必须保持跟踪,不要从UI引用数据访问。

答案 3 :(得分:0)

通常我按照以下方式进行物理层应用:

  1. UI
  2. 演示
  3. BusinessLogic
  4. 数据访问
  5. 实体
  6. 但我正在改变我对这个组织的看法。因为我做了很多项目,其中一些需要维护和改进。我开始认为这个组织太单一了。一些作者如Ted Faison,Tomas Erl,Robert C. Martin,Andy Aunt说这种分层方法有点幼稚。

    无论如何......将你的逻辑放在分离的项目中,并将它们构建为有区别的程序集。制作层级引用,你就会拥有你想要的东西。