Как устранить ошибку "Ошибка сервера в ошибке" / "Приложение"?
Я пытаюсь развернуть приложение asp.net на нашем сервере, пока я получаю следующую ошибку.
Server Error in '/' Application.
________________________________________
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 63: ASP.NET to identify an incoming user.
Line 64: -->
Line 65: <authentication mode="Windows"/>
Line 66: <!--<forms loginUrl="~/SCR.UI/Login1.aspx"/>
Line 67: </authentication>-->
Source File: D:\BarclaysPayamentManagementSystem\scr.ui\web.config Line: 65
В чем причина и как его решить?
Пожалуйста, помогите
Ответы
Ответ 1
Вы можете получить эту ошибку при попытке просмотреть приложение asp.net.
Отладочная информация показывает, что "эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS".
Однако эта ошибка возникает, главным образом, из 2 сценариев.
- При создании нового веб-приложения с использованием visual studio.net он автоматически создает виртуальный каталог и настраивает его как приложение. Однако, если вы вручную создаете виртуальный каталог и не настроен как приложение, вы не сможете просматривать приложение и можете получить вышеуказанную ошибку. Отладочная информация, полученная вами, как указано выше, применима к этому сценарию.
Чтобы решить эту проблему, щелкните правой кнопкой мыши по виртуальному каталогу - выберите свойства, а затем нажмите
"Создать" рядом с меткой "Приложение" и текстовым полем. Он автоматически создаст "приложение", используя имя виртуального каталога. Теперь приложение может быть доступно.
- Когда у вас есть подкаталоги в вашем приложении, вы можете иметь файл web.config для подкаталога. Однако есть определенные свойства, которые нельзя установить в файле web.config подкаталога, таком как аутентификация, состояние сеанса (вы можете увидеть, что сообщение об ошибке показывает номер строки, в которой аутентификация или состояние сеанса объявлены в файле web.config подкаталога). Причина в том, что эти параметры нельзя переопределить на уровне подкаталогов, если только подкаталог также не настроен как приложение (как указано выше).
В основном у нас есть практика добавления web.config в подкаталог, если мы хотим защитить доступ к файлам подкаталогов (скажем, каталог является администратором, и мы хотим защитить страницы администратора от нескромных пользователей).
Ответ 2
У меня была эта ошибка, когда версия .NET была неправильной - убедитесь, что сайт настроен на тот, который вам нужен.
Подробнее см. aspnet_regiis.exe.
Ответ 3
У меня была эта ошибка с VS 2015, в моем случае переход на страницу свойств проекта, вкладку "Веб" и нажатие кнопки Create Virtual Directory
в разделе "Серверы" разрешило ее
Ответ 4
Похоже, что администратор заблокировал "аутентификацию" node веб-сайта, что можно сделать в глобальном web.config довольно легко. Или, в двух словах, это работает как разработанный.
Ответ 5
Сообщение об ошибке довольно ясно: у вас есть элемент конфигурации в файле web.config в подпапке вашего веб-приложения, которое не разрешено на этом уровне - или вы забыли настроить веб-приложение как приложение IIS.
Пример: вы пытаетесь переопределить параметры уровня приложения, такие как параметры проверки форм в файле web.config в подпапке вашего приложения
Ответ 6
Вы можете проверить это здесь: http://support.microsoft.com/kb/942041.
Я надеюсь, что это поможет вам.
Ответ 7
У меня была такая же проблема на visual studio 2012. Для проекта интернет-приложений.
Как разрешить "Ошибка сервера в ошибке" / "Приложение"?
Поиск ответа Я столкнулся с этим сообщением, но ни один из этих ответов не помог мне.
Затем я нашел еще одно сообщение здесь, в stackoverflow, в котором есть ответ на решение этой проблемы.
Указанный аргумент вышел за пределы допустимых значений. Имя параметра: сайт
Ответ 8
При создании нового веб-приложения с использованием visual studio.net он автоматически создает виртуальный каталог и настраивает его как приложение. Однако, если вы вручную создаете виртуальный каталог и не настроен как приложение, вы не сможете просматривать приложение и можете получить вышеуказанную ошибку.
Ответ 9
Я также получил эту ошибку, когда я переместил EDMX файл структуры сущностей в подпапку "Модели". Это автоматически изменило метаданные в настройках строки подключения в моем app.config.
Итак, до изменения строки подключения... это выглядело примерно так:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/MyDb.csdl|res://*/MyDb.ssdl|res://*/MyDb.msl; ...
</connectionStrings>
А после... он добавил имя подпапки "Модели" (кстати... он также добавил "Модели" в пространство имен для сгенерированных классов EF), и строка подключения теперь выглядит примерно так:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/Models.MyDb.csdl|res://*/Models.MyDb.ssdl|res://*/Models.MyDb.msl; ...
</connectionStrings>
У меня есть проект веб-сайта, который ссылается на этот проект Entity Framework DB. Но в его файле web.config не было обновлений для строки подключения... и это, когда я начал получать сообщение об ошибке компиляции, которая обсуждалась здесь.
Чтобы исправить эту ошибку, я обновил строку подключения в файле web.config в проекте веб-сайта, чтобы он соответствовал app.config в моем проекте EntityFramework.
Ответ 10
vs2017 только что добавлен в эти строки в файл csproj.user
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
with these lines in Web.config
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" maxRequestLength="1048576" />
<identity impersonate="false" />
<authentication mode="Windows" />
<authorization>
<allow users="yourNTusername" />
<deny users="?" />
</authorization>
И это сработало