有一件奇怪的事情,當我使用創建應用程序包嚮導在IDE中構建應用程序包時,多語言是正確的。使用多語言應用程序工具包構建應用程序包
但是,如果我在命令行中使用msbuild.exe構建它,如:
msbuild.exe my.sln /t:rebuild /p:Configuration=Release;Platform=x86;Outdir=myoutput /flp:LogFile=my.log
結果的應用程序包是錯誤的。它沒有多語言資源,只有默認的英文。
IDE wizard和msbuild.exe有什麼不同?我的命令行錯了嗎?
日誌是:
Target "AfterBuild" in project "myproject.csproj" (target "Build" depends on it):
Using "MultilingualBuild" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\Multilingual App Toolkit\v1.0\Microsoft.Multilingual.Build.dll".
Task "MultilingualBuild"
Multilingual App Toolkit build started.
Update build config xml started.
Preprocessing XLIFF file: 'MultilingualResources\Chinese (Simplified).xlf'
Preprocessing XLIFF file: 'MultilingualResources\Chinese (Traditional).xlf'
Preprocessing XLIFF file: 'MultilingualResources\Italian (Italy).xlf'
Preprocessing XLIFF file: 'MultilingualResources\Japanese (Japan).xlf'
Preprocessing XLIFF file: 'MultilingualResources\Russian (Russia).xlf'
Update build config xml completed.
Generate latest XLIFF build task started.
A translation unit with null or empty content was detected and ignored while generating the XLIFF file.
A translation unit with null or empty content was detected and ignored while generating the XLIFF file.
A translation unit with null or empty content was detected and ignored while generating the XLIFF file.
A translation unit with null or empty content was detected and ignored while generating the XLIFF file.
Latest XLIFF file generated: 'obj\x86\Release\MultilingualAppToolkitLatest.xlf'
Generate latest XLIFF build task completed.
Update XLIFF build started.
TargetLang ID: zh-Hans
TargetLang XLiff: MultilingualResources\Chinese (Simplified).xlf
XLIFF file updated: 'MultilingualResources\Chinese (Simplified).xlf'
TargetLang ID: zh-Hant
TargetLang XLiff: MultilingualResources\Chinese (Traditional).xlf
XLIFF file updated: 'MultilingualResources\Chinese (Traditional).xlf'
TargetLang ID: it-IT
TargetLang XLiff: MultilingualResources\Italian (Italy).xlf
XLIFF file updated: 'MultilingualResources\Italian (Italy).xlf'
TargetLang ID: ja-JP
TargetLang XLiff: MultilingualResources\Japanese (Japan).xlf
XLIFF file updated: 'MultilingualResources\Japanese (Japan).xlf'
TargetLang ID: ru-RU
TargetLang XLiff: MultilingualResources\Russian (Russia).xlf
XLIFF file updated: 'MultilingualResources\Russian (Russia).xlf'
Update XLIFF build completed.
Generate priInfo build started.
Adding language 'zh-Hans' from 'MultilingualResources\Chinese (Simplified).xlf'
Adding language 'zh-Hant' from 'MultilingualResources\Chinese (Traditional).xlf'
Adding language 'it-IT' from 'MultilingualResources\Italian (Italy).xlf'
Adding language 'ja-JP' from 'MultilingualResources\Japanese (Japan).xlf'
Adding language 'ru-RU' from 'MultilingualResources\Russian (Russia).xlf'
Generate priInfo build completed.
Merge of Loc PRI file started.
Copy App PRI file started.
Copy App PRI file completed.
C:\Program Files (x86)\Windows Kits\8.0\bin\x86\Makepri.exe resourcepack /o /pr "C:\hudsonprojects\myproject\sourcecode\myproject\myproject" /cf "obj\x86\Release\MultilingualAppToolkit.cfg.xml" /if "obj\x86\Release\MultilingualAppToolkit.pri" /of "../../../output/myproject/resources.pri"
Update Manifest File Started.
Update Manifest File added language id: 'zh-Hans'
Update Manifest File added language id: 'zh-Hant'
Update Manifest File added language id: 'it-IT'
Update Manifest File added language id: 'ja-JP'
Update Manifest File added language id: 'ru-RU'
Update Manifest File is saving the manifest changes.
Update Manifest File Completed.
Merge of Loc PRI file completed.
Multilingual App Toolkit build completed successfully.
Done executing task "MultilingualBuild".
Done building target "AfterBuild" in project "myproject.csproj".
謝謝。我嘗試其他平臺配置,但仍然錯誤。並附上日誌。我比較了IDE嚮導和msbuild的輸出,發現pri文件不同,我猜msbuild在創建pri文件時出了點問題。 – user2407701
Visual Studio在封面下調用MSBuild,因此您應該能夠追蹤它。 – si618