如何完全避免本地化的.NET异常消息

And*_*ren 38 .net

当我的.NET应用程序发生错误时,我收到一条异常消息(在我的例子中)瑞典语.这对大多数用途来说都是无用的,因为.

  • 该消息通常只是原始(英语)异常消息的翻译版本[1]

  • 异常消息很少用于诊断问题,通常包括搜索错误消息.这意味着猜测或使用Web服务来查找原始英语消息.

[1]我不是在开玩笑.示例:在绑定失败的上下文中"调用程序集"被完全混淆.它被翻译成"之称集结号",因为英语是如何使用相同的字是一个呼唤作为一个它被调用.几乎就像有人用字典一字一句地翻译它.

所以我想:我希望能够得到英文异常消息,始终如一,在非英文Windows安装(我希望改变应用程序的线程文化).

有一个类似的问题(英语中的异常消息?),但这是在记录的概念.在那个级别,我可以改变线程文化.

但我希望更改是全局的,并且还包括"不是我的代码"例外.

有没有办法可以配置或"黑客"(例如通过替换资源文件)?我是唯一一个认为翻译异常消息的人,在.NET中是一个可怕的设计缺陷吗?

对不起,如果这是部分咆哮和部分问题.

Exp*_*pro 4

删除所有.NET语言包.根据这个(".NET Framework 4.5语言包包含翻译的错误消息和除英语以外的其他语言的UI文本.如果您不安装语言包,此文本以英语显示"),它应该就足够了.

  • 这依赖于你控制客户端机器,虽然不是吗?即它使用[本地问题的全局解决方案](http://blogs.msdn.com/b/oldnewthing/archive/2008/12/11/9193695.aspx?Redirected=true)(引用@RaymondChen) (5认同)
  • 在 Windows 10 中,这是不可能的。它作为操作系统的一部分添加...您必须删除语言文件夹+所有附属程序集。并希望操作系统不要尝试修复它。 (3认同)