Прекомпиляция для развертывания - PullRequest
3 голосов
/ 18 февраля 2011

После изучения темы «Прекомпиляция для развертывания» я хочу улучшить процесс сборки. Теперь, что я делаю, это:

  • подготовьте веб-сайт с помощью публикации в один клик, например, в каталог c:\www\app, и этот каталог будет доступен в IIS через приложение (localhost/app)
  • запускаю aspnet_compiler.exe -v app c:\www\appprecompiled -f

Теперь у меня есть готовое предварительно скомпилированное приложение в c:\www\appprecompiled, и все в порядке. Однако мое приложение довольно большое, и его публикация (шаг 1) занимает около 5 минут с нуля. Поэтому мне интересно, возможно ли избежать первого шага и выполнить шаг 2 (прекомпиляция) с исходной папкой, указывающей на папку решения. Я пробовал что-то вроде этого:

aspnet_compiler.exe -v codeapp c:\code\app -f

Где c:\code\app - это папка с файлами web.config и т.д., в основном это проект с веб-сайтом, и эта папка доступна через http://localhost/codeapp.

Но при запуске этой команды я получаю сообщения об ошибках global.asax или web.config:

C: \ код \ приложение \ OBJ \ Debug \ пакет \ packagetmp \ web.config (18): ошибка ASPCONFIG: это ошибка для использования раздел зарегистрирован как allowDefinition = 'MachineToApplication' вне уровня приложения. Эта ошибка может быть вызвано виртуальным каталогом не настраивается как приложение в IIS.

И для записи я использую Приложение, а не Виртуальный каталог.

Так есть ли способ выполнить прекомпиляцию в простой папке на веб-сайте?

1 Ответ

3 голосов
/ 20 февраля 2011

Я использовал

aspnet_compiler -p PhysicalOrRelativePath -v / targetPath

из http://msdn.microsoft.com/en-us/library/ms227976(v=VS.80).aspx и удалил папку obj перед ее выполнением, и прекомпиляция работает:)

...