2009-05-15 2 views
21

Я получаю «имя культуры». Загружаемые файлы «не поддерживаются» при запуске приложения ASP.NET. Где мне нужно просмотреть/отладить, чтобы переключить ошибку?Название культуры не поддерживается

Полнотекстовый поиск для «uploads» возвращает 0 записей в моем проекте.

ответ

1

Если приложение оно построено на DotNetNuke (а не простое приложение ASP.NET), такая ошибка обычно возникает в DotNetNuke из-за проблемы, описанной в Culture name '__page' is not supported.

Если вы не используете DotNetNuke, проверьте свой код Application_Start (в файле Global.asax). Возможно, это настройка CultureInfo. Или проверьте файл web.config на наличие недопустимых значений культуры.

3

Похоже, что у вас есть код где-то, который пытается установить культуру на основе шаблона URL (это можно отследить, если можно получить трассировку стека). Например, иногда я организую многоязычные сайты с URLs, как это:

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

Я тогда есть код в моей базовой страницы, которая смотрит на URL и пытается установить культуру, основанную на URL дорожка. Но если вы пытались ударить URL, как:

http://www.example.com/uploads 

Он потерпит неудачу с ошибкой, как то, что вы видите, если вы просто слепо взять первый элемент пути и попытаться использовать его в качестве культуры, не проверив его первым.

+0

no :-) если можно входить в отладчик, но он говорит «нет исходного кода». возможно, это загрузка приложения в global.asax – Robert

+0

Похоже, что Global.asax будет местом для начала. Возможно, в начале запроса? –

+0

Это помогло мне понять, почему отключение исключений CLR (или, скорее, отключение Visual Studio от уведомления обо мне, когда исключаются исключения CLR [* all *]), имеет смысл - может быть, код, который бросает исключение, но безобидно. * Я просто не замечал ранее этих исключений * (потому что я только недавно ** включил ** VS, чтобы разорвать, когда выбрано исключение CLR [any]). Я думаю, что я могу попытаться выследить все, что бросает исключения - * в конце концов - но не сегодня. –

0

Предполагая, что ваш поиск по проекту не был ограничительным (максимально возможный поиск во всех файлах), тогда я предполагаю, что ваш браузер имеет пользовательский язык, настроенный на пользовательскую строку - «uploads».

В IE вы можете проверить с помощью Инструменты -> Параметры -> Языки -> Добавить -> Пользовательский язык.

13

Не волнуйтесь, это не настоящая ошибка.

Когда среда выполнения пытается найти, какие сборки ресурсов существуют, она пытается перечислить папки, в которых находятся файлы скомпилированных DLL. Предполагается, что имя папки - это имя культуры, поэтому она пытается создать для нее культуру. К сожалению, uploads - это папка, которая автоматически создается ASP.NET, и это, очевидно, не культура :).

Время выполнения игнорирует некоторые предопределенные папки, такие как «хэш», но не «загружает». Поэтому мы должны жить с этим.

+0

Так что он может с этим поделать? – SteveCav

5

Я получаю точно такую ​​же ошибку. ["название культуры" uploads "не поддерживается"]. Я не знаю, что вызывает его, но я смог обойти его , щелкнув [Отладка | Исключения (Ctrl-alt-E) и сняв флажок «Исключения общего времени выполнения языка». У меня нет папки «uploads» или файла в моем проекте, и в моем проекте нет ничего, что имело бы какое-либо отношение к многоязычной поддержке, и ошибка срабатывала сразу же после запуска моего проекта ... глядя на вызов стек просто проходит через множество вызовов mscorlib. Я понятия не имею, почему его даже называют.

23

Я удалил эту папку, и она решила проблему: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временный ASP.NET Files \ корень \ 8dfb04ef \ 44bf70fb \ добавления

+2

поиск и удаление папки «uploads» в разделе «Временные файлы ASP.NET» также разрешили мою проблему. +1 –

+1

+1. В зависимости от вашей установки папка Temporary ASP.NET Files может быть в% от% TEMP%. –

+1

Ип, работал и на меня! Ты легенда! –

5

JumpingLethalRampage, а не убрав все "Commong Language Runtime исключений," вы можете отмените только "среды CLR Исключения> Система> System.ArgumentException." Вам не нужно снимать все элементы CLR.