我有一个3层.NET 2.0应用程序。表示层引用中间层。中间层引用数据库层。出于某种原因,当我编译时,数据层的dll出现在表示层的bin中。我该如何阻止它?
答案 0 :(得分:1)
在参考属性
中将Copy Local设置为false答案 1 :(得分:1)
阻止这种情况的唯一方法是使您的一个或多个层级成为服务层(或类似的东西),以便将您的层层分开。
由于您的单独层是相互编译的,因此程序集需要在那里才能使整个应用程序正常运行。您如何设想应用程序在没有所有程序集的情况下工作?
答案 2 :(得分:1)
可以复制,因为有称为依赖项。您的中间层依赖于中间层上的DataAccess和UI。您必须保持跟踪,不要从UI引用数据访问。
答案 3 :(得分:0)
通常我按照以下方式进行物理层应用:
但我正在改变我对这个组织的看法。因为我做了很多项目,其中一些需要维护和改进。我开始认为这个组织太单一了。一些作者如Ted Faison,Tomas Erl,Robert C. Martin,Andy Aunt说这种分层方法有点幼稚。
无论如何......将你的逻辑放在分离的项目中,并将它们构建为有区别的程序集。制作层级引用,你就会拥有你想要的东西。