Я пытаюсь использовать aspnet_compiler через командную строку для создания и публикации веб-приложения, работающего на веб-сайте IIS7 по умолчанию. Я пытаюсь найти правильный синтаксис аргумента -m для указания пути метабазы IIS.
Вся документация относится к путям метабазы IIS6 в формате «LM / W3SVC / 1 / Root». Я наткнулся на эту информацию , которая указывает, что путь метабазы IIS7 должен выглядеть как «MACHINE / WEBROOT / APPHOST / Default Web Site».
Фактическая команда выглядит следующим образом:
aspnet_compiler -nologo -m "MACHINE/WEBROOT/APPHOST/Default Web Site/" \\productionwebserver\inetpub\websitefolder\
Это, однако, приводит к следующей ошибке: Ошибка 1002: «MACHINE / WEBROOT / APPHOST / Default Web Site /» не является правильно сформированным путем метабазы IIS.
Мой веб-сайт по умолчанию называется «Веб-сайт по умолчанию». Я также исследовал использование синтаксиса указания виртуального пути и физического пути вместо пути метабазы, например:
aspnet_compiler -nologo -v / -p ".."
(этот командный файл существует в подпапке папки проекта сайта)
Это приводит к следующей ошибке: ошибка ASPCONFIG: Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.
Сайт прекрасно работает из VS2010.