Где файл DLL должен находиться в веб-приложении.NET

В веб-приложении ASP.NET на C# я структурирую его с помощью веб-приложения сверху, а затем нескольких проектов для обработки бизнес-уровней и уровня доступа к данным. У меня есть файл DLL, который содержит помощник SQL. Если это будет помещено в корзину веб-приложения или в папку, которую я создаю с именем "lib" в корне веб-приложения.

Наконец, так как это DLL, имеющая дело с доступом к данным, я должен поместить ее в проект, содержащий классы уровня данных, которые будут ссылаться на эту DLL, и если я сделаю, как я должен разместить ее в этом проекте (библиотека классов типов).

Спасибо за все соображения.

2 ответа

Решение

Приложения ASP.NET ищут в папке \bin библиотеки DLL, поэтому вы можете поместить туда любые библиотеки DLL. Однако, если библиотеки DLL совместно используются многими приложениями, имеет смысл установить их в GAC.

(Вам может потребоваться нажать кнопку "Показать все файлы" в верхней части обозревателя решений, чтобы увидеть папку \bin).

Как говорит @Paul Zahra, я предпочитаю решение \bin GAC, потому что вы можете развернуть XCOPY в соответствии с вашими требованиями.

Создайте папку за пределами папки веб-решения, называемую сборками, используйте эту папку в качестве центрального хранилища для библиотек DLL. Сделайте так, чтобы все ваши проекты в рамках решения собирались в эту папку, и создавайте ссылки на библиотеки DLL в вашем решении на эту папку. Это поможет в развертывании и управлении версиями DLL. Я предпочитаю делать это с использованием GAC.

Другие вопросы по тегам