Как прекомпилировать проект веб-приложения?

Недавно я слышал, что вы можете предварительно скомпилировать проекты веб-приложений. Мой вопрос: как?

Прямо сейчас, когда я делаю publish для своего веб-приложения и выбираю only files needed to run this application, я его публикую, но у него все еще есть все мои ASPX-страницы, и он будет только JIT-компилировать страницы. Как сделать так, чтобы все страницы ASPX были предварительно скомпилированы перед их размещением на сервере?

Ответ 1

Вы можете загрузить шаблон проекта, который называется проектом веб-развертывания (версия WDP) (версия VS2008 здесь), что расширяет возможности сборки и развертывания Visual Studio. Это в основном обертывает функции aspnet_compile.exe, но позволяет делать это визуально как часть вашего общего решения.

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

Два хороших блога Скотта Гатри об этом типе проекта:

Я использовал этот тип проекта для некоторых проектов VS2005 и VS2008, и это бесценно (особенно для тех устаревших веб-проектов!).

Я не знал, что это также было в библиотеке MSDN, но вот хорошая статья в MSDN для WDP.

Надеюсь, это поможет!

EDIT: WDP существует для VS2005 и VS2010.

Ответ 2

К сожалению, способ сделать это не впечатляет. Вам придется "развернуть" решение локально, затем переместить его или просто скомпилировать на сервере, куда он пойдет. В любом случае используется aspnet_compiler.exe. Подробнее см. http://msdn.microsoft.com/en-us/library/ms227976%28v=VS.90%29.aspx.

Ответ 3

При публикации сайта снимите флажок "Разрешить обновление этого предварительно скомпилированного сайта".