CustomErrors mode = “Off”

Recibo un error cada vez que cargo mi aplicación web al proveedor. Debido al modo customErrors, todo lo que veo es el mensaje predeterminado de “Runtime error”, que me indica que desactive customErrors para ver más sobre el error.

Exasperado, configuré mi web.config como este:

      

y aún así, todo lo que obtengo es la estúpida página de errores remotos sin información útil sobre ella. ¿Qué más puedo hacer para desactivar CustomErrors?

Esto me ha estado volviendo loco en los últimos días y no pude evitarlo, pero finalmente lo descubrí:

En mi archivo machine.config, tenía una entrada en :

  

Esto parece anular cualquier otra configuración de CustomError que haya especificado en un archivo web.config, por lo que establece la entrada anterior en:

  

ahora significa que puedo volver a ver los mensajes de error detallados que necesito.

machine.config se encuentra en

32 bits

 %windir%\Microsoft.NET\Framework\[version]\config\machine.config 

64 bits

 %windir%\Microsoft.NET\Framework64\[version]\config\machine.config 

Espero que ayude a alguien y ahorre unas horas de tirones de pelo.

“Desactivado” distingue entre mayúsculas y minúsculas.

Comprueba si la “O” está en mayúsculas en tu archivo web.config, lo he sufrido varias veces (tan simple como parece)

Con el fin de agregar más situaciones a esta pregunta (porque aquí es donde busqué porque estaba teniendo exactamente el mismo problema), aquí está mi respuesta:

En mi caso, corté / pegué el texto del error genérico diciendo en efecto si quieres ver lo que está mal, ponlo

    

Así que esto debería haberlo solucionado, ¡pero por supuesto que no! Mi problema era que había un nodo varias líneas arriba (antes de un nodo de comstackción y autenticación) y una etiqueta de cierre unas pocas líneas debajo de eso. Una vez que corregí esto, está bien, problema resuelto. Lo que debería haber hecho es copiar / pegar solo esta línea:

  

Esto es de los anales de Cosas estúpidas que sigo haciendo una y otra vez, en el capítulo titulado “Copiar y pegar su camino a la destrucción”.

Para las aplicaciones Sharepoint 2010, también debe editar C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\web.config y definir

Probé la mayoría de las cosas descritas aquí. Estaba usando VWD y el archivo predeterminado web.config contenía:

      

Cambié mode = “RemoteOnly” a mode = “Off”. Todavía no hay alegría. Luego utilicé el administrador de IIS, las propiedades, la pestaña ASP.Net, la configuración de edición, luego seleccioné la pestaña CustomeErrors. Esto todavía muestra RemoteOnly. Cambié esto a Off y finalmente pude ver los mensajes de error detallados.

Cuando inspeccioné web.config, vi que había dos nodos CustomErrors en el sistema.web; y acabo de notar que la segunda entrada (la que estaba cambiando estaba dentro de un comentario). Intente no utilizar el bloc de notas para inspeccionar web.config en un servidor remoto.

Sin embargo, si usa el material de configuración de edición de IIS, se quejará de los errores en el archivo web.config. A continuación, puede descartar todas las respuestas que dicen “¿hay un error de syntax XML en su web.config”?

Generalmente puede encontrar más información sobre el error en el Visor de eventos, si tiene acceso a él. Es posible que su proveedor también haya evitado que se muestren errores personalizados, anulándolo en su machine.config o estableciendo el atributo minorista en verdadero ( http://msdn.microsoft.com/en-us/library/ms228298 ( VS.80) .aspx ).

Si todavía está obteniendo esa página, es probable que esté explotando antes de pasar la Web. Conf.

Asegúrese de que ASP.Net tenga los permisos que necesita para cosas como las carpetas .Net Framework, la Metabase de IIS, etc. ¿Tiene alguna forma de verificar que ASP.Net esté instalado correctamente y asociado en IIS correctamente?

Editar: Después de que el comentario de Greg se me ocurrió, asumí que lo que publicaste era todo tu mínimo de web.config, ¿hay algo más? Si es así, ¿puedes publicar todo el web.config?

También tuve este problema, pero cuando uso Apache y mod_mono. Para cualquier otra persona en esa situación, debe reiniciar Apache después de cambiar web.config para forzar la lectura de la nueva versión.

La única respuesta que realmente funcionó para arreglar esto, la encontré aquí: https://stackoverflow.com/a/18938991/550975

Solo agregue esto a su web.config :

      

Mi problema es que tengo esto definido en mi configuración web

       

En realidad, lo que descubrí al alojar mi aplicación web es que el código que desarrolló en su Máquina local es de una versión superior a la que le ofrece la empresa de hosting. Si tiene privilegios de administrador, puede cambiar la compatibilidad con la versión de Microsoft ASP.NET en la configuración de alojamiento web

Tuvimos este problema y se debió a que el usuario de IIS no tenía acceso a la configuración del equipo en el servidor web.

También nos encontramos con este error y en nuestro caso fue porque el usuario del grupo de aplicaciones ya no tenía permisos para el archivo web.config. La razón por la que perdió sus permisos (todo estaba bien antes) se debía a que teníamos una copia de seguridad del sitio en un archivo rar y arrastré una versión de respaldo del web.config del rar al sitio. Esto parece haber eliminado todos los permisos del archivo web.config, excepto yo, el usuario que inició sesión.

Nos llevó un tiempo darnos cuenta de esto porque revisé repetidamente los permisos en el nivel de la carpeta, pero nunca en el nivel de archivo.

Intente reiniciar la aplicación (crear una app_offline.htm en lugar de eliminarla) y si sigue recibiendo el mismo mensaje de error, asegúrese de haber declarado customErrors solo una vez en el archivo web.config, o algo por el estilo. Los errores en el web.config pueden tener un impacto extraño en la aplicación.

¿Tienes algún personaje especial como æøå en tu web.config? Si es así, asegúrese de que la encoding esté configurada en utf-8.

¿Esta aplicación web está debajo de otras aplicaciones en el árbol de directorios de un sitio web? Compruebe cualquier archivo web.config principal para otras configuraciones, si las hay. Además, haga que su directorio esté configurado como un directorio de aplicaciones en IIS.

Si está utilizando la vista previa MVC 4, podría estar experimentando esto porque está utilizando HandleErrorAttribute. El comportamiento cambió en 5 para que no maneje excepciones si desactiva los errores personalizados.

También puede intentar abrir el sitio web en un navegador en la máquina del servidor. No hago mucho desarrollo de ASP.NET, pero recuerdo que los errores personalizados tienen una configuración para mostrar solo el texto de error completo en el servidor, como medida de seguridad.

Acabo de tratar con un problema similar. En mi caso, la versión predeterminada del sitio asp.net era 1.1 mientras intentaba iniciar una aplicación web 2.0. El error fue bastante trivial, pero no estaba claro de inmediato por qué los errores personalizados no desaparecerían, y el tiempo de ejecución nunca se escribió en el registro de eventos. La solución obvia era hacer coincidir la versión en la pestaña Asp.Net de IIS.

Tuve el mismo problema, pero encontré la resolución de una manera diferente.

Lo que hice fue abrir las Configuraciones Avanzadas para el Grupo de Aplicaciones en el Administrador IIS .

Allí configuré Activar aplicaciones de 32 bits en True .

He tenido el mismo problema, y ​​la causa fue que IIS ejecutaba ASP.NET 1.1 y el sitio requería .NET 2.0.

El mensaje de error no hizo más que desviarme del camino durante varias horas.

Asegúrese de agregar inmediatamente después del sistema.

Lo puse hacia el final del nodo y no funcionó.

También asegúrate de que estás editando web.config y no website.config, como estaba haciendo.

Si está haciendo una transformación de configuración, también puede necesitar eliminar la siguiente línea del archivo web.config relevante.

  

Después de probar todas las respuestas aquí, resultó que mi método Application_Error tenía esto:

 Server.ClearError(); Response.Redirect("/Home/Error"); 

La eliminación de estas líneas y la configuración corrigieron el problema. (El cliente aún fue redirigido a la página de error con customErrors="On" ).

He tenido el mismo problema, y ​​revisé el registro de la aplicación del visor de eventos donde se menciona claramente por qué excepción ocurrió. En mi caso, la excepción fue la siguiente …

Información de excepción:

 Exception type: HttpException Exception message: The target principal name is incorrect. Cannot generate SSPI context. at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) The target principal name is incorrect. Cannot generate SSPI context. 

Acabo de actualizar mi contraseña en el grupo de aplicaciones y funciona para mí.

También es posible en algunos casos que web.config no tenga el formato correcto. En ese caso, debe pasar línea por línea antes de que funcione. A menudo, las reglas de reescritura son las culpables aquí.