Как мне скомпилировать сайт ASP.NET в один файл DLL? - PullRequest
15 голосов
/ 21 октября 2008

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

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

Ответы [ 4 ]

17 голосов
/ 21 октября 2008

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

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

4 голосов
/ 21 октября 2008

Мы делаем это путем добавления проекта развертывания на наш сайт:

http://msdn.microsoft.com/en-us/asp.net/aa336619.aspx

4 голосов
/ 21 октября 2008

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

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

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

3 голосов
/ 21 октября 2008

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

...