.NET: Разделить веб-приложение на несколько библиотек DLL? - PullRequest
2 голосов
/ 05 мая 2010

Можно ли скомпилировать некоторые файлы с выделенным кодом (.cs) (например, все файлы .cs в определенной папке) в одну DLL, а остальные - в другую DLL?

У нас есть несколько общих кодов и страниц (файлы aspx + cs), которые мы хотим использовать на многих веб-сайтах. Мы хотим, чтобы это скомпилировалось в DLL (например, Common.dll).

Остальные файлы будут относиться к конкретному сайту, уникальны для каждого сайта и должны компилироваться в другую DLL (например, Website3.dll)

Это так, что если мы вносим изменения в общий код, мы можем просто опубликовать Common.dll на всех наших веб-сайтах.

Возможно ли это с помощью VS Web Developer Express 2008?

Заранее спасибо.

РЕДАКТИРОВАТЬ: Мы уже используем библиотеку классов, но не для страниц (aspx + cs)

Ответы [ 2 ]

2 голосов
/ 05 мая 2010

Проще говоря, вам нужен ваш общий код в отдельном проекте - библиотеке классов - и затем добавить ссылку на эту сборку на каждый из ваших веб-сайтов. Вы можете либо ссылаться на сборку напрямую, либо вы можете (я думаю, в Web Express) добавить проект в ваше решение и собрать сайт и общий код вместе. Я предпочитаю последнее, но для обеих систем есть веские аргументы.

Это достаточно важно для создания приложений .NET (-: вам нужно понимать пространства имен и использовать / import (в зависимости от вашего языка).

К сожалению, я не помню механизм работы с Express (если кто-то может, они могут редактировать или комментировать соответствующим образом).

Кроме того, вам нужно подумать о том, как интегрировать это в свою систему управления версиями - детали, в определенной степени, будут зависеть от того, будете ли вы ссылаться на отдельно созданный .dll или включать проект. Если у вас нет контроля версий, остановитесь, сначала разберитесь с этим, а затем вернитесь и решите эту проблему.

В качестве еще одного отступления, я думаю, - хотя я рад, что исправлен, этот код позади относится к коду, непосредственно связанному с веб-формой, а не к классам, отдельным и отличным от этих страниц.

1 голос
/ 29 февраля 2012

Существует возможность использовать проекты веб-развертывания (http://www.microsoft.com/download/en/details.aspx?id=25163 для VS2008 и http://www.microsoft.com/download/en/details.aspx?id=24509 для VS2010). В параметрах вы можете указать, будет ли вывод вашего веб-проекта представлять собой одну DLL (по умолчанию для веб-приложений) или сборку для каждой папки.

Это соответствует необходимости изменения только одной страницы / элемента управления и развертывания только сборки, на которую повлияло это изменение.

Но проекты веб-развертывания не поддерживают редакции VS Express.

...