Приложение UWP создает все 3 платформы с помощью azure devops (CI)

Ранее я задавал вопрос о том, как создать приложение UWP на всех трех платформах, если в проекте есть библиотеки DLL, зависящие от платформы. Решение успешное, но теперь у меня возникла проблема с автоматической сборкой Azure DevOps.

В настройке DevOps CI

/p:AppxBundlePlatforms="x86|ARM|x64" 
/p:AppxPackageDir="C:\agent\_work\4\a\AppxPackages\\" 
/p:AppxBundle=Always  
/p:UapAppxPackageBuildMode=StoreUpload
/p:PackageCertificateThumbprint="" 
/p:PackageCertificateKeyFile="C:\agent\_work\_temp\BoardPACWinApp_TemporaryKey.pfx" 
/p:platform="x86"
/p:configuration="release"
/p:VisualStudioVersion="16.0"
/p:_MSDeployUserAgent="TFS_22ec7900-72ed-4ebd-b5a6-d4ba51a210dd_build_16_0"

введите здесь описание изображения

/p:platform="x86" часть, влияющая на мою сборку, и сообщение об ошибке выглядит так: (сосредоточьтесь на части «x86», которая исходит из переменной платформы)

2019-10-01T14:15:58.4153083Z C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2106,5): ошибка MSB3270: было несоответствие между архитектурой процессора строящегося проекта "ARM" и архитектурой процессора эталона "IronOne.FileConverter.Windows, Version=2.0.0.0, Culture=neutral, processingArchitecture=ARM", "x86". Это несоответствие может вызвать сбои во время выполнения. Рассмотрите возможность изменения целевой архитектуры процессора вашего проекта с помощью диспетчера конфигураций, чтобы согласовать архитектуры процессоров между вашим проектом и ссылками, или используйте зависимости от ссылок с архитектурой процессора, которая соответствует целевой архитектуре процессора вашего проекта. [C:\agent_work\4\s\Main\BoardPACWinAppUtil\BoardPACWinAppUtil.csproj]

Вышеупомянутая ошибка возникает, когда приложение создает платформу ARM. Сборка платформы x86 проходит успешно, и к моменту возникновения этой ошибки сборка x64 находится в ожидании.

Как мне преодолеть это и создать все 3 платформы приложения для отправки в Магазин Microsoft?

Заранее спасибо за потраченное время и усилия.


comment
Привет! Похоже, ссылка IronOne.FileConverter.Windows не поддерживает Any-CPU, поэтому, если вы используете ее для создания поддержки appxupload для всех 3 платформ (x86, x64, ARM), это вызовет ошибку несоответствия между архитектурой процессора. Кажется, это ключ к этому вопросу. Пробовали ли вы упаковывать отдельно для x86 или ARM, кроме x64?   -  person Leo Liu-MSFT    schedule 03.10.2019
comment
Да, у меня есть 3 отдельные dll для поддержки всех 3 платформ. Я добавил команду предварительной сборки для копирования каждого файла в общий каталог при сборке через VS. А вот с DevOps у меня проблемы, потому что в «Платформе» я могу указать только 1 платформу сборки. Но в «AppxBundlePlatform» поддерживаются все 3 платформы.   -  person SurenSaluka    schedule 03.10.2019
comment
В VS то, что происходит, основано на соответствующей платформе DLL, которая копируется в общую папку, в которой есть ссылка на проект, поэтому я могу опубликовать приложение на всех платформах. В DevOps это невозможно, если я говорю x64, когда приложение создает x86, оно копирует неправильную DLL в общую папку.   -  person SurenSaluka    schedule 03.10.2019
comment
У меня есть лучшее объяснение здесь: developercommunity.visualstudio.com/content/problem/757622/   -  person SurenSaluka    schedule 04.10.2019