В ASP.NET действительно нет подхода «скомпилировать в одну DLL» (к сожалению, я сам много раз хотел этого!).
Как вы заметили, веб-приложение помогает несколько уменьшить беспорядок.
Web Deployment также помогает, поскольку код веб-страниц скомпилирован в одну DLL, и вы действительно можете удалить файлы *.aspx/*.ascx
из вашей установки (если она не обновляется), но у вас все еще есть много *.compiled
файлов лежат вокруг.
Так что, к сожалению, я думаю, что на данный момент не существует готового решения для ваших требований (и, насколько я слышал, ничего подобного не запланировано на VS2010 / ASP.NET 4.0 либо).
Марк