更改MsBuild错误消息语言

时间:2010-02-18 04:07:20

标签: visual-studio-2008 msbuild localization

我正在使用日语系统,当我运行MsBuild.exe来构建Visual Studio项目时,我在输出中混合使用日语和英语:

C:\path\to\solution>C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe solution.sln
Microsoft (R) Build Engine Version 3.5.30729.1
[Microsoft .NET Framework, Version 2.0.50727.3082]
Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 2/18/2010 1:03:04 PM.
Project "C:\path\to\solution.sln" on node 0 (default targets).
  Building solution configuration "Debug|Win32".
プロジェクト : warning PRJ0018: 以下の環境変数が見つかりませんでした:

如何将其全部改回英语?

谢谢!

8 个答案:

答案 0 :(得分:8)

要将MSBuild输出的语言更改为英语,只需在实际调用MSBuild之前在同一控制台中调用chcp 850。它改变了控制台的代码页,MSBuild使用它。

答案 1 :(得分:5)

我在机器WIN 8.1上遇到了类似的问题。它安装在捷克语,后来增加了英语语言包。结果是MsBuild从控制台开始是捷克语。 我在Region设置选项Change system locale ..中找到了捷克语。切换到英语后输出是英文。

Region language settings

答案 2 :(得分:5)

刚刚用俄语解决了同样的问题:

我删除了以下目录:

  • c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ amd64 \ ru
  • c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ amd64 \ ru-RU

答案 3 :(得分:4)

注意:在研究laurent的输出后,我同意Preet Sangha的回答。输出可能来自编译器而不是MSBuild。但如果是MSBuild以错误的语言生成消息,就像我的情况一样,我认为我的答案对你有用。所以我的答案真的回答了这个问题的标题。


我认为您的邮件来自日语Microsoft.Build.Tasks.resources.dll resource fileMicrosoft.Build.Tasks assembly包含由MSBuild执行的构建相关任务。这些任务输出构建相关的消息。

我认为您有一个或多个日语.NET框架语言包。解决方案是在Windows添加删除程序对话框中卸载所有日语.NET框架语言包


我有Norwegian MSBuild输出。当我删除我的挪威语语言包时,我收到了标准的英语错误消息。我的挪威资源文件位于:

  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\no
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\MOF\no
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\SQL\no
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF\no
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\no
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MOF\no
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SQL\no
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\WPF\no

卸载挪威.NET框架语言包后删除了这些文件夹。


我认为当您有标准的英语警告和错误消息时,搜索信息会更容易,因此我总是希望删除开发人员工具的本地语言包。

答案 4 :(得分:4)

eng的环境变量: 设置VSLANG = 1033

答案 5 :(得分:3)

您需要从以下目录中删除本地化子目录(例如,意大利语:“ 1040”,“ it”,“ it_IT”)

c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \

c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ amd64 \

答案 6 :(得分:1)

我怀疑消息来自编译器到您的项目,而不是msbuild本身。 但我不知道如何改变它。

答案 7 :(得分:0)

我遇到了在buildserver上多次使用UTF-8编码的日志文件的问题。这使得诸如更改系统语言或删除所有软件的所有本地化等解决方案都不合需要。所以我必须找到一个在控制台中设置系统语言的选项。

大多数情况下,您应该对在.cmd文件开头使用chcp 437 command感到满意。这将切换到官方"硬件"代码页437,作为PC BIOS的一部分。但是,它确实包括欧洲语言的字符,即使Microsoft calls it "OEM United States"

要排除除可读英语之外的所有语言,您应使用代码页20127,其中包含仅限ASCII的字符。所有"扩展"字符将呈现为?(问号)。这是一个极端的解决方案,只有在没有其他工作时才使用它,因为如果碰巧有任何扩展字符,它会破坏你的输出。我不确定这是一个好主意,因为它不是和OEM字符集,但它对我有用。