Ошибка использования раздела, зарегистрированного как allowDefinition = 'MachineToApplication' за пределами уровня приложения - PullRequest
176 голосов
/ 16 февраля 2012

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

Верхняя строка на всех моих страницах aspx в моем каталоге / portal / имеетэто сообщение об ошибке, и я знаю, что оно распространено.Я погуглил это сообщение об ошибке без конца, и я вижу много постов, в которых говорится о настройке папки / portal / как приложения в IIS (которое у меня есть), и больше постов, в которых говорится, что я вложил web.configs (нони одна из публикаций не предлагает руководства по решению).

Моя настройка заключается в том, что у меня есть web.config в моем корневом каталоге, а затем я пытаюсь создать портал компании в каталоге / portal /,Каталог / portal / имеет свой собственный (необходимый) web.config.

Моя строка 50 файла web.config выглядит следующим образом:

    <customErrors mode="Off" defaultRedirect="customerrorpage.aspx"/>
    <anonymousIdentification enabled="true"/>
    <authentication mode="Forms"/>
    <membership defaultProvider="MyProvider">

Итак, у меня есть domain.com/web.config AND domain.com/portal/web.config ... так что мойСтраница domain.com/portal/default.aspx не будет загружаться.

Каково реальное решение для этого?Как-нибудь найти способ объединить мой корневой web.config с моим / portal / directory web.config, или я здесь далеко от базы?

Будем весьма признательны за любые указания!

Ответы [ 25 ]

4 голосов
/ 03 июня 2014

Удалить и создать виртуальный каталог снова.Щелкните правой кнопкой мыши и преобразуйте виртуальный каталог в « Приложение »

3 голосов
/ 20 сентября 2017

Щелкните файл Web.config в обозревателе решений и измените

Копировать в выходной каталог = Не копировать

1 голос
/ 22 июня 2017

Я также получаю эту ошибку, когда пытаюсь развернуть суб-сайт на сайте.

Решение:

  1. Вы должны удалить некоторые вкладки конфигурации, такие как: профиль , членство , roleManager , sessionState в подпрограмме web.config
  2. Изменить аутентификацию на None как: <authentication mode="None" />
  3. И перейдите в IIS, щелкните правой кнопкой мыши подпапку - > Добавить приложение.
  4. Сбросьте IIS для решения этой проблемы.

Если возникнут другие проблемы, не стесняйтесь пинговать меня, может быть, я найду помощь.

1 голос
/ 10 февраля 2015

Пуск в Windows -> открыть Сайты -> IIS -> щелкните правой кнопкой мыши по своему сайту -> Управление веб-сайтом -> Дополнительные настройки -> выберите Физический путь -> попробуйте выбрать подпапку, которая выбрана в данный момент.*

логика заключается в том, что файл веб-конфигурации внутри подпапки пытается внести изменения, и это недопустимо, должен быть выбранной папкой: http://scottonwriting.net/sowblog/archive/2010/02/17/163375.aspx

1 голос
/ 18 декабря 2013

Для меня причина была в том, что папка obj находилась в папке веб-сайта, и после создания различных конфигураций появилось несколько файлов web.config Я решил проблему под vs2012, переместив папку obj с веб-сайта. Для этого я добавил вручную (в блокноте) $ (SolutionDir) \ Obj \ $ (Конфигурация) к каждой конфигурации в файле проекта веб-сайта.

1 голос
/ 23 октября 2014

У меня была эта проблема, и она была решена путем очистки моего решения от старых сборок и т. Д.

от vs: Построить> Чистый раствор

затем перестроить.

1 голос
/ 19 августа 2014

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

1 голос
/ 08 августа 2014

У меня была такая же проблема, когда я публиковал сайт, если я строю сайт, у меня не возникает проблем, но при публикации я получаю эту ужасную ошибку:

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

Я перепробовал все, что было указано здесь вэтот пост ни к чему не привел, для меня было просто создать новый профиль публикации, точно такой же, как тот, который я использовал, и это работает хорошо, не получайте ошибку с новым профилем, а со старым,Не уверен, в чем разница, но, по крайней мере, я могу опубликовать свой проект MVC.

Надеюсь, это кому-нибудь поможет !!

0 голосов
/ 17 апреля 2018

Иногда простой ответ - лучший.У меня было два файла web.config в моем проекте.На основном уровне я должен был внести изменения, чтобы справиться с моим тайм-аутом сеанса (который вызвал эту проблему).У меня был отдельный файл конфигурации в моей директории Razor Views, в котором были настройки для Razor и его представлений.Я добавил там раздел (не на уровне приложения!).Не понимая, что у меня есть два отдельных файла web.config, я попробовал все, кроме поиска очевидного.

0 голосов
/ 12 ноября 2017

Это нормально на localhost, но когда я опубликовал релиз на сервере, я запустил ту же ошибку для нескольких страниц. Затем я очистил решение и перестроил и опубликовал, все было исправлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...