更改MsBuild错误消息语言

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改MsBuild错误消息语言相关的知识,希望对你有一定的参考价值。

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

C:path	osolution>C:WINDOWSMicrosoft.NETFrameworkv3.5msbuild.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	osolution.sln" on node 0 (default targets).
  Building solution configuration "Debug|Win32".
プロジェクト : warning PRJ0018: 以下の環境変数が見つかりませんでした:

如何将其全部改回英语?

谢谢!

答案

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

另一答案

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

另一答案

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

我删除了以下目录:

  • 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
另一答案

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


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

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


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

  • C:WindowsMicrosoft.NETFrameworkv4.0.30319 o
  • C:WindowsMicrosoft.NETFrameworkv4.0.30319MOF o
  • C:WindowsMicrosoft.NETFrameworkv4.0.30319SQL o
  • C:WindowsMicrosoft.NETFrameworkv4.0.30319WPF o
  • C:WindowsMicrosoft.NETFramework64v4.0.30319 o
  • C:WindowsMicrosoft.NETFramework64v4.0.30319MOF o
  • C:WindowsMicrosoft.NETFramework64v4.0.30319SQL o
  • C:WindowsMicrosoft.NETFramework64v4.0.30319WPF o

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


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

另一答案

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

另一答案

您需要从以下目录中删除本地化子目录(例如意大利语:“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

另一答案

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

另一答案

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

大多数时候,你应该很高兴在chcp 437 command文件的开头使用.cmd。这将切换到官方的“硬件”代码页437,它作为PC Bios的一部分包含在内。然而,它确实包括欧洲语言的字符,即使Microsoft calls it "OEM United States"

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

以上是关于更改MsBuild错误消息语言的主要内容,如果未能解决你的问题,请参考以下文章

MSBuild Copy 失败并出现奇怪的错误消息

如何在 MSBuild 中自定义 C++ 编译器错误消息?

片段事务中的实例化错误

MSBuild Copy失败,出现奇怪的错误消息

TFSBuild 2013 无法更改 msbuild 版本

MSBuild 无法找到 FxCop 二进制文件