多层应用程序中的程序集依赖项

Assembly dependencies within a multi tier application

我正在第一次尝试创建可重用的多层应用程序。

我创建了一个被业务层项目引用的数据访问层项目。我创建了一个引用业务层项目的网站,并计划在许多其他网站中使用它。

我已经把编译好的业务层工程dll放到网站的bin文件夹下,做了一个文件引用。当我调用业务层时,它抛出无法加载数据访问程序集。为了解决这个问题,我将数据访问 dll 放入网站 bin 文件夹中,一切正常。

将来我希望业务层对不同项目进行多次引用,因此我希望将业务层引用的所有项目 dll 添加到每个网站的 bin 文件夹中。这是我这样做的正确方法还是有简化的方法?

创建一个文件夹,比如 BusinessLayer。在此文件夹内创建子文件夹。在这些文件夹中创建 class 个库,并创建反映在文件夹名称中的命名空间。对数据访问层和视图层执行相同的操作。引用业务层中的数据访问命名空间和视图层中的业务层命名空间。如果可能,请确保数据访问层通过接口与业务层对话。 API website/app 等可以位于这 3 层之上。

有 2 种方法可以解决这个问题

1) 添加项目引用。

点击在web项目上添加引用->点击项目选项->点击解决方案->勾选业务层。

您需要在业务层上执行相同操作以添加数据层项目引用。

2) 秒级方法是使用 nuget 包。您可以为要共享的 csproj 创建 nuget 包。当您跨多个项目共享 dll 并且需要在不同项目之间进行版本控制时,这种方法非常有用。从 csproj 创建 nuget 包的命令。

nuget pack BusinessLayer.csproj