Что такое файлы сопоставления для сборки проектов UWP/Centennial и как их создать?

Я пытаюсь пройти через некоторую базовую автоматизацию для создания некоторых проектов UWP/Centennial, и я нахожусь в точке, где мне нужно взять AppX с тестовой подписью, распаковать и подписать его, затем повторно упаковать и реализовать. подпишите сам AppX. Например,

makeappx unpack /p "%CD%\UpgradeTestAppX_1.0.3.0_x64.appx" /d "%CD%\unpacked" /o /l

Это отлично работает, как и запуск инструментов подписи для подписи содержимого внутри "%CD%\unpacked"

Проблема, с которой я сталкиваюсь, - это пробел в документации.

/f Указывает файл сопоставления.

/m Указывает путь к входной манифест приложения, который будет использоваться в качестве основы для создания выходного пакета приложения или манифеста пакета ресурсов. При использовании этого параметра необходимо также использовать /f и включить раздел [ResourceMetadata] в файл сопоставления, чтобы указать измерения ресурсов, которые должны быть включены в сгенерированный манифест.

Я видел несколько упоминаний этого "файла сопоставления", но не могу понять, что именно они означают. Термин слишком общий для меня, чтобы сделать вывод, что это такое или как его сделать. Лучшее, что я могу предположить, это то, что это может относиться к

...Карта блоков пакетов приложений (AppxBlockMap. xml)...

Но потом вот это:

<mapping file> Имя файла, указывающее источник пакета пункт назначения

Но это не то, что, похоже, соответствует этому другому типу файла, в котором есть карта слов, или, по крайней мере, <mapping file> кажется мне более общим, чем App package block map.

  1. <mapping file> для текущей документации MakeAppX совпадает с App package block map?
  2. Где я могу сослаться на пример или руководство по этому файлу сопоставления, которое поможет мне понять, для чего все это можно использовать? Если файл маппинга это файл AppxBlockMap.xml, то я просто хочу знать, что вообще можно с ним сделать по прямому назначению.

person kayleeFrye_onDeck    schedule 01.12.2017    source источник
comment
Попробуйте посмотреть эта страница MSDN   -  person Peter Torr - MSFT    schedule 01.12.2017
comment
@PeterTorr-MSFT, вы подразумеваете, что ответ на № 1 верен? Подобные вещи в вашем комментарии помогут сообществу больше, чем просто обмен ссылками. Тывм!   -  person kayleeFrye_onDeck    schedule 01.12.2017
comment
/f используется для указания файла сопоставления ресурсов, созданного makepri. Блочная карта — это нечто другое. Если это поможет, я могу написать правильный ответ   -  person Peter Torr - MSFT    schedule 01.12.2017
comment
@PeterTorr-MSFT Это точно помогло ответить №1! Я ошибочно предположил, что вы подразумеваете, что это одно и то же, из того, что я почерпнул при первом просмотре документации, но это все PEBKAC, а не вы, так что спасибо за разъяснение! :) Мне придется погрузиться глубже, чтобы узнать, что такое файл сопоставления. Было бы очень хорошо иметь несколько примеров, но я понимаю, что документация редко занимает первое место в списке приоритетов... Я подхожу к этому с точки зрения инженера-строителя, а не разработчика, поэтому я пытаюсь понять создавать инструменты / ресурсы в глубину.   -  person kayleeFrye_onDeck    schedule 01.12.2017
comment
Еще раз спасибо за помощь, @PeterTorr-MSFT! Это определенно помогает ^_^: docs.microsoft.com/en-us/windows/uwp/packaging/   -  person kayleeFrye_onDeck    schedule 04.12.2017


Ответы (1)


Официальный документ описывает файл сопоставления здесь. Если ваша команда makeappx использует только /f, вам не нужно указывать файл ресурсов, тогда ваш файл сопоставления может быть текстом, который написан следующим образом:

[Files]
"C:\MyApp\StartPage.html"               "default.html"
"C:\Program Files (x86)\example.txt"    "misc\example.txt"
"\\MyServer\path\icon.png"              "icon.png"
"my app files\readme.txt"               "my app files\readme.txt"
"CustomManifest.xml"                    "AppxManifest.xml"

Если вы использовали команду /m, вы должны использовать /f и включить раздел [ResourceMetadata], как показано ниже:

[ResourceMetadata]
"ResourceDimensions"                    "language-en-us"
"ResourceId"                            "English"

[Files]
"images\en-us\logo.png"                 "en-us\logo.png"
"en-us.pri"                             "resources.pri"
person Barry Wang    schedule 04.12.2017
comment
Я не думаю, что в официальном документе изначально была эта часть (или, по крайней мере, такая формулировка), когда я писал этот вопрос. Вы можете увидеть комментарии в части вопросов, когда Peter Torr - MSFT упоминает предложение разъяснить это, если это будет сочтено полезным. Но спасибо! Это пояснение к документации определенно помогает, как и ваш ответ, указывающий на его заголовок в документации. - person kayleeFrye_onDeck; 04.12.2017