Доступные параметры для компиляции большого приложения ASP .NET

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

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

Проблема в том, что когда проект компилируется, все это объединяется в единую огромную DLL. Это означает, что внесение изменений в несколько элементов управления UserControl и последующее развертывание этих изменений по нескольку раз невероятно сложно, если не невозможно.

К сожалению, мы должны предполагать, что Visual Studio 2003 и .NET 1.1.

Как я уже сказал, я новичок в ASP.NET, так что будьте осторожны.

  • Есть ли способ сделать что-то по-другому, чтобы каждый UserControl был отдельной DLL?
  • Могу ли я что-то изменить, чтобы упростить внесение изменений небольшими партиями?

person Mark Biek    schedule 14.01.2010    source источник


Ответы (1)


Моя текущая работа состоит в том, чтобы скомпилировать несколько небольших DLL. У элементов управления обычно есть собственная DLL, отдельная от логики объекта, поэтому мы можем использовать объекты в таких вещах, как службы Windows. Однако это требует перекомпиляции всего проекта.

Мы используем cruisecontrol.net, который имеет несколько полезных функций, которые строят весь проект в фоновом режиме. Вы можете настроить проекты таким образом, чтобы при изменении DLL круиз-контроль перекомпилировал каждый проект, который ссылается на эту DLL. Это очень удобная функция, которая снимает бремя с любого человека как мастера сборки. Вы просто ждете, пока круиз-контроль создаст проект, и получите электронное письмо об успешном / неудачном завершении проекта. Не уверен, что это то, что вы ищете. Я буду рад ходить с вами туда и обратно, если вам понадобится дополнительная помощь!

удачи !!

person Community    schedule 14.01.2010
comment
Давайте начнем с реального базового уровня :) Что мне нужно сделать в VS, чтобы у каждого Control была собственная DLL? Это не похоже на поведение по умолчанию для UserControls. - person Mark Biek; 14.01.2010
comment
Вы должны создать новый проект библиотеки классов и добавить к нему новый пользовательский элемент управления .... Библиотека классов будет скомпилирована в отдельную DLL, которую вы можете добавить в качестве ссылки на свой проект. - person ; 14.01.2010
comment
Итак, в конце концов, у меня будет одно решение, в котором будет столько проектов, сколько мне нужно? Каждый проект в рамках решения будет компилироваться в DLL, которую я затем могу перемещать по мере необходимости. Я правильно понимаю? - person Mark Biek; 14.01.2010
comment
Ага ! абсолютно .... у нас нет нашей библиотеки DLL, объединенной в одно решение ... все наши библиотеки находятся в отдельном решении ... но вы можете сделать это в любом случае .... каждый проект будет компилироваться в свою собственную DLL и вы можете использовать DLL где угодно. Мы берем все наши библиотеки DLL и помещаем их в UNC-путь (что-то вроде \\ server01 \ productionlibrary), и все наши приложения ссылаются на UNC-путь, просто наш способ сохранить относительную разумность. Когда мы компилируем нашу DLL, мы помещаем версию выпуска в UNC-путь для использования в будущем. - person ; 14.01.2010
comment
Замечательно знать. Спасибо за информацию! - person Mark Biek; 14.01.2010
comment
... снимает ответственность с любого человека ... - person StriplingWarrior; 30.04.2010
comment
@StriplingWarrior ... ох !!! Я думал, что мои орфографические способности лучше, чем это. Спасибо за улов. - person ; 13.04.2011