allowDefinition = 'MachineToApplication' Ошибка сборки msbuild

У нас есть ASP.NET MVC с 4-5 различными конфигурациями сборки. Каждый раз, когда мы меняем конфигурацию сборки, нам нужно удалить папку obj для веб-проекта, так как мы получаем ошибку allowDefinition = 'MachineToApplication'. Больно, но мы справились, удалив папку в событиях до и после сборки. Теперь мне нужно настроить наш CI для создания пакетов развертывания. Это означает, что я не могу удалить папку obj. Каждый раз, когда я компилирую, например, со следующими параметрами msbuild

/ p: CreatePackageOnPublish = true / p: DeployOnBuild = true

, я получаю сообщение об ошибке:

web.config (123): error ASPCONFIG: это ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.

Насколько я понимаю, проблема в том, что в проекте есть несколько файлов .config - в нашем случае их нет. Мне действительно нужна помощь, чтобы найти объяснение и найти постоянное (без взлома) исправление.

Править: Этот вопрос отмечен как повторяющийся, но соответствующие ответы и причины в двух ветках явно отличаются друг от друга. Не уверен, что предназначено для этого тега - я прочитал этот конкретный пост перед тем, как опубликовать этот вопрос, поскольку он не ответил на мой вопрос. Это сообщение об ошибке может быть вызвано несколькими причинами. Это «похоже», но точно не дубликат!

45
задан jaspernygaard 2 March 2013 в 18:31
поделиться