2009-05-15 12 views
21

Recibo "cargas de nombre cultural" no se admite "cuando se inicia mi aplicación ASP.NET. ¿Dónde debo ver/depurar para alternar el error?No se admite el nombre de cultura

una búsqueda de texto completo con "subidas" devuelve 0 entradas en mi proyecto.

Respuesta

1

Si la aplicación es construida sobre DotNetNuke (y no una sencilla aplicación ASP.NET), este tipo de error se produce generalmente en DotNetNuke debido al problema descrito en Culture name '__page' is not supported.

Si no está utilizando DotNetNuke, verifique su código Application_Start (en el archivo Global.asax). Podría estar configurando CultureInfo. O consulte su archivo web.config para conocer los valores de cultivo no válidos.

3

Suena como puede ser que tenga algo de código en alguna parte que está tratando de establecer la cultura basada en un patrón de URL (esto puede ser rastreados si es posible conseguir un seguimiento de la pila). Por ejemplo, a veces voy a configurar sitios multilingües con URLs así:

http://www.example.com/en-US/ 
http://www.example.com/es-MX/ 

Voy a continuación, tiene el código en mi página base que se ve en la URL e intenta establecer la cultura basada en la URL camino. Pero si se trató de golpear a una URL como:

http://www.example.com/uploads 

Sería un error con un error como lo que está viendo si sólo ciegamente toma el primer elemento de la ruta y tratar de utilizarlo como la cultura sin comprobar primero.

+0

no :-) si puede entrar en el depurador pero dice "sin código fuente". tal vez esté cargando la aplicación en global.asax – Robert

+0

Parece que Global.asax sería el lugar para comenzar en ese momento. Probablemente en la solicitud de inicio? –

+0

Esto me ayudó a entender por qué tiene sentido inhabilitar las excepciones CLR (o, mejor dicho, deshabilitar Visual Studio para que me notifique cuando se lanzan las excepciones CLR [* all *]), puede haber código que arroje una excepción, pero de forma inocua. * Simplemente no estaba notando esas excepciones previamente * (porque recientemente ** habilité ** VS para romper cuando se lanza [cualquier] CLR excepción). Creo que podría tratar de buscar lo que arroje las excepciones, * finalmente *, pero no hoy. –

0

Suponiendo que su búsqueda a través del proyecto no fue restrictiva (la búsqueda más amplia posible en todos los archivos), entonces supongo que su navegador tiene un idioma de usuario configurado en una cadena personalizada - "cargas".

En IE, se puede comprobar a través de Herramientas -> Opciones -> Idiomas -> Añadir -> lenguaje definido por el usuario.

13

No se preocupe, no es un error real.

Cuando el tiempo de ejecución intenta encontrar que existe asambleas de recursos, se intenta enumerar carpetas donde residen los archivos DLL compilados. Asume que el nombre de la carpeta es el nombre de la cultura, por lo que intenta crear una cultura para ella. Lamentablemente, las cargas son una carpeta creada automáticamente por ASP.NET, y obviamente no es una cultura :).

El tiempo de ejecución ignora algunas carpetas predefinidas como "control", pero no "archivos". Entonces tenemos que vivir con eso.

+0

Entonces, ¿qué puede hacer él al respecto? – SteveCav

5

Estoy recibiendo el mismo error exacto. ["carga de nombre de cultura 'no es compatible"]. No sé qué es lo que está causando, pero he podido solucionarlo al haciendo clic en [Depurar | Excepciones (Ctrl-alt-E) y desmarcando "Excepciones de Common Language Runtime". No tengo una carpeta o archivo de 'cargas' en mi proyecto y no hay nada en mi proyecto que tenga algo que ver con el soporte multilingüe y el error se dispara inmediatamente cuando ejecuto mi proyecto ... mirando la llamada la pila simplemente me guía a través de un montón de llamadas a mscorlib. No tengo ni idea de por qué se llama.

23

He eliminado esta carpeta y solucionó el problema: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ ASP temporal.NET Files \ root \ 8dfb04ef \ 44bf70fb \ archivos

+2

búsqueda y eliminación de la carpeta 'cargas' en Archivos ASP.NET temporales también resolvió mi problema. +1 –

+1

+1. Dependiendo de su configuración, la carpeta Archivos temporales ASP.NET puede estar en% TEMP%. –

+1

Yip, funcionó para mí también! ¡Tu leyenda! –

5

JumpingLethalRampage, en lugar de desmarcar todas las "excepciones commong Language Runtime," usted podría simplemente desactive "excepciones Common Language Runtime> Sistema> System.ArgumentException." No necesita desmarcar todos los artículos CLR.

Cuestiones relacionadas