在 C# ASP.NET Web 应用程序中,我将其构建为顶部的 Web 应用程序,然后是用于处理业务层和数据访问层的多个项目。我有一个包含 SQL Helper 的 DLL 文件。应该将其放置在 Web 应用程序的 bin 中还是我在 Web 应用程序的根目录中创建的名为“lib”的文件夹中。
最后,因为它是一个处理数据访问的 DLL,我应该将它放在包含将引用该 DLL 的数据层类的项目中,如果我这样做,我应该如何将它放在该项目中(类型类库)。
感谢所有考虑。
在 Web 解决方案文件夹之外有一个称为程序集的文件夹,将此文件夹用作 DLL 的中央存储库。将解决方案中的所有项目都构建到该文件夹,并在该文件夹的解决方案中创建对 DLL 的引用。它将有助于部署和 DLL 版本管理。我更喜欢这样做而不是使用GAC。
ASP.NET 应用程序在 \bin 文件夹中查找 DLL,因此您可以在其中放置任何 DLL。但是,如果 DLL 在许多应用程序之间共享,则安装在 GAC 中可能是有意义的。
(您可能需要单击解决方案资源管理器顶部的“显示所有文件”按钮才能查看 \bin 文件夹)。
就像@Paul Zahra 所说,我更喜欢 \bin 解决方案而不是 GAC,因为您可以 XCOPY 部署,这符合您的要求。