Приложения Магазина Windows 8.1. Указание устанавливаемых на устройстве ресурсов по умолчанию
Когда пользователь устанавливает приложение, операционная система устройства пытается определить и установить в приложение различные ресурсы, такие как строки пользовательского интерфейса и изображения для определенного разрешения, которые подходят для этого устройства. Например, приложение может иметь строки на испанском языке, которые могут быть установлены на устройствах, для которых задан соответствующий языковой стандарт. Однако приложение может не иметь подходящих ресурсов для всех устройств и языковых стандартов, с которыми работают пользователи. В таких случаях операционная система устройства по умолчанию установит ресурсы, соответствующие компьютеру, на котором ведется разработка, его языковому стандарту и другим параметрам. Если требуется установить на устройство другие ресурсы, можно указать их путем добавления файла конфигурации. Кроме того, если удобно редактировать собственный файл проекта напрямую, эту задачу можно решить и так.
Вариант 1. Добавление в решение файла конфигурации
В обозревателе решений щелкните правой кнопкой мыши проект приложения, выберите пункт Добавить, а затем нажмите Создать элемент.
В диалоговом окне Добавить новый элемент щелкните XML-файл, назовите файл priconfig.default.xml и нажмите кнопку Добавить.
Замените содержимое этого файла следующим XML-кодом.
<default> <qualifier name="Language" value=Value /> <qualifier name="Contrast" value=Value /> <qualifier name="Scale" value=Value /> <qualifier name="HomeRegion" value=Value /> <qualifier name="TargetSize" value=Value /> <qualifier name="LayoutDirection" value=Value /> <qualifier name="DXFeatureLevel" value=Value /> <qualifier name="Configuration" value=Value /> <qualifier name="AlternateForm" value=Value /> </default>
На следующем шаге заполнители Value будут заменяться допустимыми квалификаторами ресурсов. См. раздел Именование ресурсов с помощью квалификаторов (XAML) или Именование ресурсов с помощью квалификаторов (HTML).
Замените каждый заполнитель Value допустимым квалификатором ресурса.
В следующем примере показано, как может отображаться XML после замены заполнителей Value допустимыми квалификаторами ресурсов.
<default> <qualifier name="Language" value="en-us" /> <qualifier name="Contrast" value="standard" /> <qualifier name="Scale" value="120" /> <qualifier name="HomeRegion" value="001" /> <qualifier name="TargetSize" value="256" /> <qualifier name="LayoutDirection" value="LTR" /> <qualifier name="DXFeatureLevel" value="DX9" /> <qualifier name="Configuration" value="" /> <qualifier name="AlternateForm" value="" /> </default>
Сохраните и закройте файл priconfig.default.xml.
В обозревателе решений щелкните файл priconfig.default.xml.
В окне Свойства измените значения следующих свойств в зависимости от языка проекта.
Для проектов C# и VB задайте для свойства Действие сборки значение Нет.
Для проектов JavaScript задайте для свойства Действие пакета значение Нет.
Для проектов C++ задайте для свойства Содержимое значение False.
В меню Сборка выберите Собрать решение.
В папке ProjectFolder**\obj\**ReleaseConfiguration откройте файл priconfig.xml в блокноте.
Убедитесь, что добавленные квалификаторы отображаются в файле.
Переименование файла priconfig.default.xml
Вы можете присвоить файлу конфигурации любое имя. Однако если присвоить файлу имя, отличное от priconfig.packaging xml, необходимо добавить свойство сборки в файл проекта.
В обозревателе решений щелкните правой кнопкой мыши проект для вашего приложения и выберите команду Выгрузить проект.
Снова щелкните проект правой кнопкой мыши и выберите пункт ИзменитьИмяПриложения**.csproj** или ИзменитьИмяПриложения**.vbproj**.
В файле проекта добавьте следующую строку XML-кода между открывающими и закрывающими тегами первого элемента <PropertyGroup>.
<AppxPriConfigXmlDefaultSnippetPath>FilePath</AppxPriConfigXmlDefaultSnippetPath>
Важно!
Замените заполнитель FilePath путем к файлу конфигурации, включив имя файла.
Сохраните и закройте файл проекта.
В обозревателе решений щелкните проект правой кнопкой мыши, выберите команду Перезагрузить проект, а затем выполните сборку решения.
Вариант 2. Изменение файла проекта (усложненный)
Откройте файл проекта приложения в Блокноте.
В файле проекта добавьте следующую строку XML-кода между открывающими и закрывающими тегами первого элемента <PropertyGroup>. Этот XML-код идентифицирует ресурсы, которые будут установлены операционной системой устройства, если в приложении отсутствуют нужные ресурсы для конкретного устройства, языкового стандарта или другого параметра.
<AppxDefaultResourceQualifiers>Language=ValueContrast=Value|Scale=Value|HomeRegion=Value|TargetSize=Value| LayoutDirection=Value|DXFeatureLevel=Value|Configuration=Value|AlternateForm=Value</AppxDefaultResourceQualifiers>
На следующем шаге заполнители Value будут заменяться допустимыми квалификаторами ресурсов. Например, можно задать для квалификатора Language моникер {DefaultResourceLanguage}. При создании пакета приложений Visual Studio заменяет этот моникер значением свойства Язык по умолчанию, которое можно настроить на вкладке Приложение конструктора манифестов. Кроме того, можно также задать в качестве квалификатора языка конкретное значение языкового стандарта, например en-us. См. раздел Именование ресурсов с помощью квалификаторов (XAML) или Именование ресурсов с помощью квалификаторов (HTML).
Замените каждый заполнитель Value допустимым квалификатором ресурса.
В следующем примере показано, как может отображаться XML после замены заполнителей Value допустимыми квалификаторами ресурсов.
<AppxDefaultResourceQualifiers>Language={DefaultResourceLanguage}|Contrast=high|Scale=140|HomeRegion=419|TargetSize=256| LayoutDirection=LTR|DXFeatureLevel=DX10|Configuration=|AlternateForm=altform-msft-phonetic</AppxDefaultResourceQualifiers>
Сохраните и закройте файл проекта. Затем перезагрузите файл проекта в Visual Studio.
Выполните сборку решения.
В папке ProjectFolder**\obj\**ReleaseConfiguration откройте файл priconfig.xml в блокноте.
Убедитесь, что добавленные квалификаторы отображаются в файле.
См. также
Определение ресурсов приложения (XAML)
Определение ресурсов приложения (HTML)
Приложения Магазина Windows 8.1. Принудительная установка ресурсов в устройстве независимо от потребности устройства в этих ресурсах
Наборы приложений
Принятие решения о том, нужно ли создавать набор приложений
Пакеты ресурсов
Система управления ресурсами