2010-02-18 143 views
6

我是日语系统上,当我运行MsBuild.exe建立一个Visual Studio项目,我得到的日语和英语输出的混合:更改的MSBuild错误消息语言

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: 以下の環境変数が見つかりませんでした: 

哪有我把它全部改回英文?

谢谢!

回答

1

我怀疑这个消息是从编译器传入你的项目,而不是msbuild本身。 但我不知道如何改变它。

+1

那会是cl.exe吗? – Laurent 2010-02-18 05:29:35

+1

取决于语言c/C++ = cl.exe,c#= csc.exe,vb = vbc.exe – 2010-02-18 21:26:22

3

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


我想你的消息是从日本Microsoft.Build.Tasks.resources.dllresource file到来。 Microsoft.Build.Tasks assembly包含由MSBuild执行的构建相关任务。这些任务输出构建相关的消息。

我想你有一个或多个日语.NET框架语言包。解决的办法是到卸载所有日文.NET框架语言包在Windows中添加删除程序对话框。


我有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框架语言包后被移除。


我觉得它更容易搜索信息时,你有标准的英文警告和错误信息,所以我会永诺想删除本地语言包的开发工具。

8

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

+0

这可能适用于日语,但它对意大利语没有影响。 (相同的代码页)没有更明确的一般解决方案吗? – ZJR 2013-07-30 20:53:37

+0

不适用于日文或 – sebagomez 2017-05-09 17:40:14

+0

它适用于我,虽然一些自定义生成事件命令的输出仍然不是英文(中文)...但这对我来说很小。 – bruin 2017-08-10 02:18:06

4

我在WIN 8.1上面临类似的问题。它以捷克语安装,后来增加了英文语言包。结果是从控制台启动的MsBuild使用捷克语。 我在区域设置选项中找到更改系统区域设置..在捷克。切换到英文输出后是英文。

Region language settings

+0

如果有任何人不幸使用这个答案,这将无法在Windows Home Edition上运行。 – 2017-09-19 15:27:57

3

刚刚解决与俄罗斯同样的问题:

我已删除以下目录:

  • C:\ Program Files文件(x86)的\微软的Visual Studio \ 2017年\专业\ MSBuild \ 15.0 \ Bin \ amd64 \ ru
  • c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ amd64 \ ru-RU
0

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

大多数情况下,在您的.cmd文件开始时使用chcp 437 command时应该很高兴。这将切换到官方的“硬件”代码页437,这是作为您的PC BIOS的一部分。但是,它包含欧洲语言的字符,即使Microsoft calls it "OEM United States"

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

相关问题