Ранее я задавал вопрос о том, как создать приложение 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?
Заранее спасибо за потраченное время и усилия.
Any-CPU
, поэтому, если вы используете ее для создания поддержки appxupload для всех 3 платформ (x86, x64, ARM), это вызовет ошибку несоответствия между архитектурой процессора. Кажется, это ключ к этому вопросу. Пробовали ли вы упаковывать отдельно дляx86
илиARM
, кромеx64
? - person Leo Liu-MSFT   schedule 03.10.2019