将Visual Studio配置为显示英文错误信息。

85

我目前在另一个国家工作,我的电脑安装的Windows版本是非英语的。这不是问题,但当Visual Studio显示错误信息时,由于它们也与Windows相同的语言本地化,我非常关心。

有时候我会花很长时间来寻找它的含义,这非常无聊...

有没有办法配置Windows或Visual Studio以显示英文消息?


你不能在安装时配置吗?如果有选项,请尝试重新安装VS。 - Tomas Aschan
6
Visual Studio 是英文版,但异常信息不是... - Hans
9个回答

26
卸载 .NET Framework xxx 语言包。 (xxx = 无聊的信息语言)

7
无法在我的Windows7家庭高级版上实现(无.NET Framework xxx 语言包)在“添加/删除程序”中。 - Suzanne Soy
@GeorgesDupéron 或许你安装了支持多目标平台的包,其中包含了本地化内容。也尝试卸载它。 - Johnny_D
6
卸载它实际上完全删除了.NET Framework v4,导致我所有的项目都停止工作。不是个好主意 :)。 - Suzanne Soy
2
@GeorgesDupéron 这真的不是一个好主意,我刚刚损坏了整个操作系统。似乎要重新安装 .net 框架,我必须重新安装整个系统。在安装过程中有很多错误,在事件查看器中也有很多错误。系统还原也无用。可悲的故事。 - Johnny_D
4
对于 .NET 4.6.2,您需要卸载 Microsoft .NET Framework 4.6.2 (无聊的语言)。请确保您仍然安装了 Microsoft .NET Framework 4.6.2 - Fabio
显示剩余3条评论

25

最好的方式是在您的应用程序入口方法中使用此代码

if (Debugger.IsAttached)
    CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");

这将强制将英语信息不仅在应用程序中捕获和显示的异常中,而且在IDE内部也是如此。

因为您无法强制用户在执行一些初步测试时使用Windows的英语语言版本,所以您可能会发现在本地查找 此工具 很有用。


至少它能工作...但是...如果我需要非英语日期时间格式呢? - NoWar
@AcademyofProgrammer 你可以明确地提供格式,或者像这样在CultureInflo中覆盖日期格式 https://dev59.com/DnM_5IYBdhLWcg3waSb9 - Peuczynski
1
@Peuczyński 是的,我知道...问题在于所有的.NET错误只有用英语讨论得很好。所以一旦你试图使用本地错误消息查找答案,你就无法找到。哈哈哈。这就是为什么我的独特动机是看到英文错误。干杯,伙计! :) - NoWar
即使你按照上面链接的方法覆盖它,这仍会导致许多日期格式问题(即使有很多变量,你只能添加一个短日期变量。然后使用DateTime.Parse()来尝试不同的日月年变量)。 - Wolf5

12

在“工具/选项/国际设置”下,我有一个选项可以将语言从“与Microsoft Windows相同”更改为“英语”(如果是Visual Studio 2008,则可能会有所不同)。 如果您没有英语,则不确定如何添加更多语言...


编辑以添加:

由于您正在讨论应用程序异常,因此需要更改您正在调试的应用程序的区域设置,您可以通过按照此文档进行更改,或者如果不能更改整个应用程序的区域设置,则此问题提供了一些仅在抛出异常时更改区域设置的想法。


你是在指Visual Studio本身使用的错误消息,还是正在调试的应用程序抛出的异常?如果是在应用程序中,那么异常将会根据应用程序所在的文化环境被抛出,而不是和Visual Studio相关。 - Martin Harris
在VS2017中没有产生任何影响。 - alansiqueira27

10

正如我在另一个帖子中发布的那样,在我的情况下,只需一行代码就可以更改文化:

System.Globalization.CultureInfo.DefaultThreadCurrentUICulture=System.Globalization.CultureInfo.GetCultureInfo("en-US");

它会更改主线程和新线程的默认文化。


对我不起作用。@edit...CurrentUICulture稍后在我的代码中根据用户设置进行更改。如果您需要显示不同的语言,则不是解决方案。 - Malako

0
正如Martin Harris在上面建议的那样,一开始我的选项窗口没有英语语言,所以我不得不通过Visual Studio Installer2安装它。之后,您应该能够看到启用了英语选项的选项窗口1,最终您可以选择它。
此致敬礼。

请注意,如果您未更新Visual Studio,则可能需要在添加某些软件包或工具之前先更新它。完成更新后,您可以安装语言包。 - Luis Veliz

0
在我的情况下,对于Windows 10来说,只需要在Windows的语言设置中更改Windows显示语言即可。
我可以尝试按上述代码更改DefaultThreadCurrentUICulture,但我认为这对于多语言应用程序是错误的,真正的异常消息应该保留在英语中,以便有人可以搜索并获得帮助。

0

0

我没有安装任何.NET Framework语言包。

我认为问题是因为IIS不是英文版,整个系统也不是英文版。

我安装了Windows英文语言包并将操作系统语言更改为英文。

现在一切都好了。

如果你使用的是Windows 7专业版,这可能会对你有所帮助


-1

1. 卸载 .net framework 2. 进入偏好设置语言 => 区域和语言 => 将语言更改为您想要的语言 (Windows 10)

  • 这种方法对我很有效

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