Сбой сертификации приложений Windows 8.1 для соответствующих файлов платформы

Мое приложение для Магазина Windows работает для всех архитектур (x86, x64, arm) и публикуется в Магазине. Но при сборке пакета приложений (щелкните проект правой кнопкой мыши, выберите "Магазин", "Создать пакет приложений") Windows App Certification Kit 3.1 для Windows 8.1 прошел все тесты, за исключением тестирования соответствующих файлов платформы:

  • Обнаружена ошибка: тест соответствующих файлов платформы обнаружил следующие ошибки:
    • Файл fmodexMetroL64.dll предназначен только для процессора типа x64; Манифест AppX объявляет ProcessorArchitecture как x86.
    • Файл fmodexMetroLarm.dll предназначен только для типа процессора arm; Манифест AppX объявляет ProcessorArchitecture как x86.
    • Файл fmodexMetro64.dll предназначен только для процессора типа x64; Манифест AppX объявляет ProcessorArchitecture как x86.
    • Файл fmodexMetroarm.dll предназначен только для типа процессора arm; Манифест AppX объявляет ProcessorArchitecture как x86.
  • Как исправить: Убедитесь, что двоичная файловая архитектура совместима с атрибутом ProcessorArchitecture, указанным в манифесте AppX. http://go.microsoft.com/fwlink/?linkid=294935

Проблема в том, что у меня есть файлы.dll для каждой архитектуры, и они добавляются для любой сборки архитектуры, независимо от того, что я пытаюсь. Я не нашел, как сказать Visual Studio, что некоторые.dll должны быть включены только для конкретной сборки архитектуры, а не другие.

Мой манифест AppX вообще не объявляет ни одного файла и вообще не объявляет никакой "ProcessorArchitecture".

Мое текущее уродливое решение, каждый раз, когда я хочу построить:

  1. Я удаляю.dll из проекта для некорректных архитектур
  2. Я строю только для одной архитектуры
  3. Я заново вставляю ранее удаленный.dll в проект

Я хотел бы найти способ избежать этой боли.

2 ответа

Попробуйте это решение: Откройте меню Project, затем Project properties, табуляция Build и установить разные Output path значения (пути) для разных Platform target,

У меня была такая же проблема, мне помогло это решение:

Откройте ваш проект и выберите Решение, затем откройте меню Проект и выберите Свойства.

  • На страницах свойств перейдите к -> Свойства конфигурации.

На этой странице вы можете установить цели платформы.