Как скомпилировать веб-сайт ASP.NET в один DLL файл?

Я, наконец, закончил свой веб-сайт. Я опубликовал его, и я был удивлен результатами. Хотя App_Code скомпилирован в один DLL файл, каждый код страницы компилируется в собственный DLL файл. Как сделать так, чтобы это был один DLL файл?

Кроме того, возможно ли скомпилировать все (SubSonic, AJAX и т.д.) в один и тот же один DLL файл?

Ответы

Ответ 1

Вы можете использовать стиль проекта веб-приложения для этого.

Вы можете использовать ILMerge для объединения сборок в один.

Ответ 2

Для этого вам нужно будет скрывать свой проект в проекте веб-приложений (поддерживается в Visual Studio 2005 с пакетом обновления 1 (SP1) и Visual Studio 2008).

Процесс преобразования не так уж и трудный, но вам нужно будет вытащить все из папки app_code, поскольку проекты WAP (проекты веб-приложений) не имеют кода внутри app_code.

Как только вы это сделаете, все внутри вашего проекта скомпилировано в один DLL файл, однако любые внешние сборки все еще содержатся в их собственных DLL файлах, но есть и варианты вокруг этого.

Ответ 4

Мы используем скрипты сборки для наших веб-сайтов и запускаем aspnet_merge.exe из командной строки. Здесь страница MSDN: http://msdn.microsoft.com/en-us/library/bb397866.aspx