Как мне создать предварительно скомпилированную DLL проекта веб-сайта при создании этого проекта или его решения?

Это может быть повторяющийся вопрос, поскольку я нашел несколько похожих, но не совсем одинаковых. Название говорит само за себя, но вот подробности:

Базовая настройка VS2008 - это два проекта веб-сайта (не проекты веб-приложений!), Живущие в одном решении; назовите их A и B. A зависит от B, поскольку B содержит пользовательский элемент управления, который я встроил в настраиваемый серверный элемент управления.

В идеале я хотел бы создать все одним щелчком мыши: сгенерировать предварительно скомпилированную DLL для B (без необходимости отдельно нажимать «Опубликовать»), а затем построить / опубликовать A в моем виртуальном каталоге IIS. Итак, как мне этого добиться?

Причина, по которой все делается в один клик (чего «Сборка решения» прямо сейчас не делает), двоякая: во-первых, меньшее количество кликов означает меньше возможностей забыть шаг или сделать что-то не по порядку, и, как правило, меньше шансов на ошибку (KISS, правда?). Во-вторых, я не могу понять, как настроить мой проект веб-сайта пользовательского управления (B) так, чтобы он генерировал DLL в указанном мной месте - или если это вообще возможно. В идеале я мог бы просто настроить его так, чтобы DLL попадала в "[B's project directory]/bin/debug/" или что-то в этом роде. Я хочу по возможности избегать использования командной строки (например, msbuild), поскольку я понимаю, что это даже меньше, чем VS GUI.

РЕДАКТИРОВАТЬ: Другой связанный вопрос: вместо создания моего пользовательского элемента управления ASP.NET (который встроен в настраиваемый серверный элемент управления) внутри проекта веб-сайта (B), можно ли просто создать его в проекте библиотеки классов C # , что должно решить все эти проблемы?


person Matt Ball    schedule 30.07.2009    source источник


Ответы (1)


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

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Сборка

person Sayed Ibrahim Hashimi    schedule 30.07.2009