2013-05-22 2 views
1

Есть странная вещь, когда я создаю пакет приложений в среде IDE с помощью мастера создания пакетов приложений, многоязычность правильная.build app package with Multilingual App Toolkit

Но если я построить его с MSBuild.exe в командной строке, например:

msbuild.exe my.sln /t:rebuild /p:Configuration=Release;Platform=x86;Outdir=myoutput /flp:LogFile=my.log 

результата пакет приложения является неправильным. У него нет многоязычного ресурса, только английский по умолчанию.

В чем отличие мастера IDE и 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". 

ответ

0

Немного трудно сказать без дополнительной информации, это может быть Platform должна быть AnyCPU, а не x86, это просто зависит от того, как настроено ваше решения.

Вы пытались набраться многословности вывода MSBuild, чтобы проанализировать более подробно?

Visual Studio: Инструменты> Настройки> Проекты и Решения> Создание и запуск> ...

командной строки:/многословие: детальная

Если вы не можете увидеть несоответствие после попробуйте, возможно, обновите свой вопрос с более подробным выходом журнала.

+0

Спасибо. Я пытаюсь настроить другую платформу и все еще неправильно. И журнал прилагается. Я сравнил вывод мастера IDE и msbuild, обнаружил, что файл pri отличается, я думаю, что msbuild имеет что-то не так, когда создает файл pri. – user2407701

+0

Visual Studio вызывает MSBuild под обложками, чтобы вы могли отслеживать его. – si618

1

Попробуйте использовать т:/опубликовать вместо:

msbuild.exe my.sln /t:publish /p:Configuration=Release;Platform=x86;Outdir=myoutput /flp:LogFile=my.log 

См: http://social.msdn.microsoft.com/Forums/windowsapps/en-US/7522e6a3-1a74-42df-9414-bb93d745a0ca/why-msbuild-cannot-create-apppackage-

Кроме того, в то время как я не видел его в журнале вывода, убедитесь, что Псевдо исключается перед созданием пакета для публиковать. Pseudo создается для тестирования локализации, он не будет проходить сертификацию магазина.

+0

Только один дополнительный комментарий, поскольку я нашел это трудным путем. Мало того, что локальная локализация Pseudo не пройдет сертификацию магазина, она не позволит всем языкам, кроме значения по умолчанию, вводить 'resources.pri', что, по-видимому, является явлением, которое видит OP. –