1

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

4

4 回答 4

1

在 Reference 属性中将 Copy Local 设置为 false

于 2009-06-16T19:55:39.497 回答
1

阻止这种情况的唯一方法是使您的一个或多个层成为服务层(或类似的东西)以物理分离您的层。

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

于 2009-06-16T19:55:55.627 回答
1

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

于 2009-06-16T20:34:50.947 回答
0

通常我做物理层应用如下:

  1. 用户界面
  2. 主持人
  3. 商业逻辑
  4. 数据访问
  5. 实体

但我正在改变我对这个组织的看法。因为我做过很多项目,其中一些需要维护和改进。我开始认为这个组织过于单一。一些作者,如 Ted Faison、Tomas Erl、Robert C. Martin 和 Andy Aunt 表示,这种分层方法有点幼稚。

无论如何...将您的逻辑放在单独的项目中并将它们构建为不同的程序集。进行分层引用,您将拥有您想要的。

于 2009-08-04T21:30:07.310 回答