2010-02-18 140 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字符集,但它對我有用。