Как makepri.exe интегрирован в MSBuild?

Я пытаюсь понять Управление ресурсами в WinRT.

В документации говорится:

MakePRI.exe - инструмент командной строки, используемый для создания и демпинга файлов PRI. Это объединено как часть MSBuild в Microsoft Visual Studio, но может быть полезно для разработчиков создать пакеты вручную или сделанными на заказ системами.

Я хочу знать, как makepri.exe интегрирован в MSBuild, как я могу формировать его?

3
nl ja de
Назовите меня педантом, но почему вы называете его "make_pri.exe", когда вы даже указываете ссылку MSDN с правильным именем "makepri.exe"?
добавлено автор Christian.K, источник

1 ответы

Ваш csproj файл импортирует этот файл для приложений C# XAML:

%ProgramFiles(x86)%\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.CSharp.Targets

который в свою очередь импортирует это, которое характерно для приложений Windows XAML, написанных на любом языке:

%ProgramFiles(x86)%\MSBuild\Microsoft\WindowsXaml\v11.0\Microsoft.Windows.UI.Xaml.Common.Targets

наконец это импортирует этот файл, который включает makepri команды конфигурации:

%ProgramFiles(x86)%\MSBuild\Microsoft\VisualStudio\v11.0\AppxPackage\Microsoft.AppxPackage.Targets

Там есть что-то названное "_GenerateProjectPriFileDependsOn", который состоит из этих задач:

        _GeneratePrisForPortableLibraries;
        _GetPriFilesFromPayload;
        _ComputeInputPriFiles;
        _GenerateProjectPriConfigurationFiles;
        _CalculateInputsForGenerateProjectPriFileCore;
        _GenerateProjectPriFileCore;
        _AddFileReadsAndFileWritesForProjectPri;
        _CreateProjectPriFileItem;
        _ExpandPriFiles;

Кажется, что это управляет некоторыми задачами перечислить ресурсы, произвести файл конфигурации для makepri и затем управляет makepri.

Целевые файлы немного загадочные, чтобы проанализировать, и я сломался бы здесь и искал бы эти makepri файлы конфигурации. Если вы ищете под obj папкой вашего проекта приложения, можно счесть файл названным priconfig.xml. На самом деле, если вы будете управлять makepri.exe, то вы найдете, что есть команда makepri для создания файлов конфигурации и если вы попробуете это (бегая makepri.exe createconfig) то - вы узнаете, что priconfig.xml - общее название для файла конфигурации. Если вы будете бежать "makepri новый то", вы будете видеть то, что варианты для создания pri файла и синтаксиса требования ("MakePri.exe новый/PR/cf [варианты]"). Теперь priconfig.xml списки файлов некоторые другие файлы как pri.resfiles, который, кажется, перечисляет pri файлы, импортированные из собраний, на которые ссылаются, и layout.resfiles, который является списком всех файлов содержания к пакету в приложении.

Таким образом, это примерно, как makepri интегрирован в msbuild. Теперь у Windows Dev Center есть целая тема на Система управления ресурсами который описывает, как вы формировали бы его, если бы вы хотели управлять им вручную.

Есть также другая связанная тема, вы могли бы хотеть продолжать читать обозначение ресурсов, используя определители который показывает, как взяты ресурсы, названные с различными определителями (масштаб, место действия, и т.д.) или расположенный в папках определителя.

7
добавлено
это - очень хороший ответ, спасибо!
добавлено автор thumbmunkeys, источник
Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

Про Windows
Про Windows
941 участник(ов)

Microsoft Windows и всё, что с этим связано. Список интересных групп и каналов: https://github.com/goq/telegram-list

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot