Я видел несколько вопросов на ТАК о подобной ошибке при развертывании веб-сайта, но я, кажется, случайным образом получаю эту ошибку при создании веб-сайта MVC ASP.NET в Visual Studio. Выполнение чистого обычно фиксирует его, но является там каким-либо способом избежать этого полностью?
Это - ошибка использовать раздел, зарегистрированный в качестве allowDefinition ='MachineToApplication' вне прикладного уровня. Эта ошибка может быть вызвана виртуальным каталогом, не настраиваемым как приложение в IIS. d:...\obj\debug\package\packagetmp\web.config
Обратите внимание, что это жалуется на корень web.config
, не тот от Views
подкаталог.
Полагаю, вы используете функцию публикации. Я получаю эту ошибку при использовании публикации в файловый каталог.
При публикации приложения создается временная копия приложения в каталоге \ obj \ debug \ package \ packagetmp \ web.config
.
Этот файл web.config сбивает с толку IDE, которая думает, что это приложение, но его нет в виртуальном каталоге, поэтому вы получаете сообщение об ошибке.
Обходной путь:
Это простой обходной путь, чтобы добавить это к команде предварительной сборки:
del "$(ProjectDir)\obj\Debug\Package\PackageTmp\web.config"
Неудачные обходные пути:
Изменение каталога для «Местоположение, где будет создан пакет» в «Пакет / Публикация в Интернете» настройки, похоже, не действуют - даже если вы сообразите и попытаетесь поместить его за пределы корня проекта с помощью ......
Создание реального виртуального каталога в IIS для 'PackageTmp' не помогло или!
ПРОБЛЕМА ПОДКЛЮЧЕНИЯ:
Надеюсь, они исправят это в RC!