Как полностью исключить локализованные сообщения об исключениях .NET

Когда в моих .NET-приложениях возникает ошибка, я получаю сообщение об исключении (в моем случае) swedish. Это бесполезно для большинства целей, потому что.

  • Сообщение часто является плохо переведенной версией исходного сообщения (english) exception [1]

  • Сообщения об исключении используются для диагностики проблем, и обычно они включают в себя поисковые запросы для сообщений об ошибках. Это означает угадывание или использование веб-службы для поиска исходного английского сообщения.

[1] Я не шучу. Пример: "Вызов сборки" в контексте сбоя привязки полностью запутан. Он переводится как "называемый сборкой" из-за того, как на английском языке используется одно и то же слово для того, кто вызывает то, что он вызывает. Почти как если бы кто-то использовал словарь для перевода его слово за словом.

Итак, что я хочу: хочу, чтобы я мог получать английские сообщения об исключениях, последовательно, при установке не-английских окон (я не хочу менять культуру потока приложения).

Есть аналогичный вопрос (Сообщения об исключении на английском языке?), но это в концепции ведения журнала. На этом уровне я мог бы просто изменить культуру нитей.

Но я хочу, чтобы это изменение было глобальным и включало также исключения "не мой код".

Можно ли это настроить или "взломать" (например, заменив файлы ресурсов)? Я единственный человек, который думает, что переводить сообщения об исключениях для начала, является ужасным недостатком дизайна в .NET?

Прошу прощения, если это был вопрос частичного и частичного вопроса.

Ответ 1

Удалите все языковые пакеты .NET. Согласно this ( "Языковой пакет .NET Framework 4.5 содержит переведенные сообщения об ошибках и другой текст пользовательского интерфейса для языков, отличных от английского. установите языковой пакет, этот текст будет отображаться на английском языке" ), этого должно быть достаточно.