Visual studio 2008 如何更改MSBuild错误消息语言?
我使用的是日语系统,当我运行MsBuild.exe来构建Visual Studio项目时,我在输出中混合了日语和英语:Visual studio 2008 如何更改MSBuild错误消息语言?,visual-studio-2008,msbuild,localization,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] Copy
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: 以下の環境変数が見つかりませんでした:
如何将其全部改回英文?我怀疑消息是从编译器发送到项目的,而不是msbuild本身。 但我不知道如何改变它。注意:在研究了一点的输出后,我同意他的答案。输出可能来自编译器,而不是MSBuild。但是,如果是MSBuild以错误的语言生成了消息,就像我的例子一样,我想我的答案对您有用。所以我的回答确实回答了这个问题的标题
我想你的消息来自一个日语
Microsoft.Build.Tasks.resources.dll
。包含由执行的与生成相关的任务。这些任务输出与生成相关的消息
我认为您有一个或多个日语.NET framework语言包。解决方案是在Windows“添加/删除程序”对话框中卸载所有日语.NET framework语言包
我有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
我认为,当您有标准的英文警告和错误消息时,搜索信息更容易,因此我始终希望删除开发人员工具的本地语言包。要将MSBuild的输出语言更改为英文,只需在实际调用MSBuild之前在同一控制台中调用
chcp 850
。它会更改控制台的代码页,而MSBuild会使用它。我在机器Win8.1上也遇到过类似的问题。它是用捷克语安装的,后来又添加了英语语言包。结果是从控制台启动的MsBuild使用捷克语。
我在区域设置选项“更改系统区域设置”中找到。。他在捷克。切换到英语后,输出的是英语
Windows 10的更新
刚刚用俄语解决了同样的问题: 我已删除以下目录:
- c:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64\ru
- c:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64\ru
.cmd
文件开始时使用。这将切换到官方的“硬件”代码页437,该代码页包含在PC BIOS中。然而,它确实包含欧洲语言的字符,即使是
要排除除可读英语以外的所有语言,应使用代码页
20127
,其中仅包含ASCII字符。所有“扩展”字符将呈现为?
(问号)。这是一个极端的解决方案,只有在其他方法都不起作用时才使用它,因为如果它碰巧有任何扩展字符,它将破坏您的输出。我不确定这是否是一个好主意,因为它不是OEM字符集,但它对我有效。eng环境变量:
设置VSLANG=1033您需要从以下目录中删除本地化子目录(例如意大利语:“1040”、“it”、“it_-it”): c:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\
c:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\amd64\取决于语言c/c++=cl.exe、c#=csc.exe、vb=vbc.exembuild.exe命令行是否使用我的语言。因此它来自msbuild.exe这可能适用于日语,但对意大利语没有任何影响。(同一个代码页)难道没有更明确、通用的解决方案吗?它对我很有效,尽管一些定制的构建事件命令的输出仍然不是英文(中文)。。。但这对我来说是次要的。如果不幸使用Windows Home edition的人遇到了这个答案,这在Windows Home edition上是不起作用的。我不想更改Windows语言这对我有帮助,谢谢。我喜欢这样,我不必更改整个操作系统的设置。我只需要删除这些文件:
c:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\ru
,c:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\ru
,而不是amd64中的文件。对于我来说,VS2019中的文件夹是:c:\Program Files(x86)\Microsoft Visual Studio \2019\Community\MSBuild\Current\Bin
这对我来说很有效(使用CLion),并且应该是可以接受的anwser,因为它除了添加变量之外不修改环境(即不需要删除文件或更改全局本地化设置)@不过,用户3302274应该链接到引用文档。这对我在Windows 10上的CMake中运行MSBuild有效。这对VS2019的cl.exe/link.exe命令行工具有效-还不确定它是否有助于MSBuild本身。对我无效。msbuild.exe仍在我自己的lang中。需要2个命令:set VSLANG=1033 chcp 1252此解决方案适合我(已测试为