Проект веб-развертывания с вложенными приложениями - PullRequest
2 голосов
/ 25 августа 2010

У меня есть веб-приложение, для которого я пытаюсь создать проект веб-развертывания в Visual Studio 2008. У моего приложения также есть дочернее веб-приложение.Оба веб-приложения в IIS.Я добавил проект веб-развертывания, чтобы я мог автоматизировать процесс сборки для этого приложения.Когда я пытаюсь построить проект веб-развертывания, я получаю следующую ошибку:

Ошибка 639 Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication', за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.

Это дочерний элемент web.config, на который ссылается ошибка.Я пытался найти решение в Интернете, и хотя это, кажется, распространенная ошибка, ни одно из двух предложенных решений, похоже, не решает мою проблему.Первое решение состоит в том, чтобы убедиться, что приложение является приложением в IIS, которое является моим.Второе - убедиться, что в решении нет дочерних web.configs.У меня есть дочерняя конфигурация, но она является частью дочернего веб-приложения и не может быть удалена.

Есть ли способ заставить проект Web Deployment Project построить с такой структурой приложения, как эта?Если нет, то есть ли способ автоматизировать создание веб-приложений .Net с использованием MSBuild без проекта веб-развертывания?

1 Ответ

1 голос
/ 25 августа 2010

Найден ответ здесь В частности, если у вас есть вложенные веб-приложения, вам необходимо включить параметр «Использовать путь метабазы ​​IIS для ввода источника» в разделе «Компиляция» свойств проекта веб-развертывания.Это приведет к созданию только корневого приложения.По умолчанию Web Deployment Project создает все приложения, включая дочерние.

...