Могу ли я создать 2 или более dll из проекта С# в Visual Studio 2008?

Потому что я работаю над созданием RIA Framework с помощью Silverlight и C#. Поэтому мне нужно использовать богатые возможности Silverlight, такие как динамическая загрузка. Но я обнаружил, что Visual Studio объединит всю библиотеку классов (одно и то же пространство имен или разное пространство имен) в одну dll.

У вас есть идея собрать 2 или более dll из проекта С#? Я просто создаю 1 проект для 1 дочерней страницы. Итак, если у меня есть 100 дочерних страниц в моем решении, я создам более 100 проектов для этого решения, что не имеет смысла.

Спасибо


person Soul_Master    schedule 27.04.2009    source источник


Ответы (3)


Просто создайте дополнительные проекты в своем решении, чтобы получить разные сборки (dll).

person Brian Rasmussen    schedule 27.04.2009
comment
Я думаю, что это очень сложное решение, когда у меня 100 или более проектов в одном решении. Более того, для хранения одной и той же общей dll требуется очень много места. - person Soul_Master; 27.04.2009
comment
Если вам не нужно редактировать все более 100 сборок одновременно, вы можете просто ссылаться на некоторые из сборок, а не включать их в проекты. - person Brian Rasmussen; 27.04.2009
comment
Я не понимаю вашей проблемы, у вас есть несколько проектов или нет? Если вы это сделаете, вы уже должны получить несколько DLL. - person Blindy; 02.06.2009

Вы не можете создать более одной dll из проекта. И нецелесообразно создавать сотни проектов - по одному на каждый класс.

Так почему бы просто не создать одну dll и динамически загружать ее?

person Naren    schedule 27.04.2009
comment
Потому что мне нужно загрузить небольшую dll (‹ 100 КБ на дочернюю страницу). Или у вас есть идея создать маленькую dll из большой dll? Пожалуйста помогите. Спасибо. - person Soul_Master; 27.04.2009
comment
Единственное, что я могу придумать, это использовать что-то вроде «mygeneration» или «codesmith», которые генерируют новый проект для каждого файла в вашем проекте, каждый из которых содержит только один файл/класс. Для сборки выпуска вам понадобится отдельный файл решения, который включает в себя все крошечные проекты, тогда как для целей разработки вы можете использовать решение с одним проектом. Сказав это, действительно не должно быть проблем с загрузкой только одной большой dll. Если он загружается только один раз для каждого домена приложения, накладные расходы будут минимальными. - person Naren; 28.04.2009

Один проект VS может скомпилировать один бинарный файл. Вероятно, нет никакого способа обойти это.

Что для вас проблема в том, что у вас много проектов в стадии решения? Это неплохо.

  • у вас меньше путаницы с версиями
  • вы можете работать над одной dll, когда кто-то другой работает над другой
  • вы можете деактивировать проекты, с которыми не хотите работать
  • компиляция выполняется быстрее, потому что немодифицированные проекты не нужно снова компилировать

У меня был один такой случай в работе (много проектов в решении). Ты привыкнешь к этому.

person Kamil    schedule 27.02.2012