Visual Studio.NET 2008无法显示英文异常信息。

10

在之前的VS.NET或.NET框架版本中,默认情况下会显示英文异常信息。如果安装了“语言包”,则会显示该语言包对应的语言的异常信息。

现在,我正在使用一个英文版的VS.NET 2008(未安装任何语言包),运行在荷兰语的Windows Vista上。

当我开发时,编写一些触发异常的代码时,我收到的异常消息是荷兰语(我的操作系统语言)。我不想要荷兰语的异常消息,我希望它是英文的(原因很明显:更容易在谷歌上搜索,而且翻译后的错误消息很差)。

在VS.NET中,我的国际设置为“英语”,在Windows Vista中,我的区域设置为“荷兰/比利时”。如何在不改变Windows区域设置的情况下获取英文异常消息呢?


非常好的问题,我也经常遇到这种情况。而且寻找答案就更加困难了! - Jorge Córdoba
谢谢你提出这个问题!我也遇到了同样的问题,荷兰语的错误信息翻译太可怕了。顺便说一句,我认为不能仅仅通过购买最昂贵的版本来更改Windows Vista的语言是荒谬的(当使用Windows Mobile时情况更糟,因为这里的大多数商店只销售荷兰语版本)。 - Wiebe Tijsma
4个回答

8

在Stackoverflow和其他网站上搜索后,似乎Windows Vista决定应该安装哪些语言包,并且似乎没有办法卸载这些语言包(在XP中是可能的)。

我没有Vista Ultimate(它可以让你同时安装多个语言包)。

所以,我现在做的是:

我创建了一个自定义条件编译符号(DEVELOPER),并在我的应用程序中,我有这段代码:

#if DEVELOPER

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-us");

#endif

我只需要确保,当我构建应用程序进行部署时,不包括这个条件定义...(但是,由于我的应用程序在CI下面,我很容易做到这一点)。


嗯,你知道吗,这可能会解决我也遇到的一个问题,谢谢你发布这个 :) - RYFN

0

针对 .Net Framework 几乎每种语言都有相应的语言包可用。

查看已安装软件并卸载该语言包。这将导致 VS2008 显示错误信息等内容为英文。


据我所知,这在之前的.NET版本中是正确的。 请查看我的问题,我在其中提到了这一点。 - Frederik Gheysels

0

Thread.CurrentThread.CurrentUICulture 基于您安装的操作系统语言。因此,安装英文版操作系统是您唯一的选择。

或者像您所述,在您编写的每个应用程序中设置 Thread.CurrentThread.CurrentUICulture 为 "en-US",这似乎相当“笨拙”。


这确实很尴尬,只是一个权宜之计。重新安装我的操作系统不是一个选项。 - Frederik Gheysels

-1

这很可能是因为您安装了荷兰的NetFX。


据我所知,目前没有荷兰本地化的DotNetFx。只是为了确认一下:您知道如何验证我是否拥有荷兰语或英语版本的DotNetFx吗? - Frederik Gheysels

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接