Azure DevOps |Тестовое задание для UWP: DEP7100: не удалось активировать приложение - PullRequest
0 голосов
/ 24 октября 2019

У меня есть проект UWP с тестовым проектом. Локальный тест проходит. Я настроил конвейер Azure DevOps для этих проектов. Тест также проходит на лазурных DevOps! Но тестовая задача завершается неудачно со следующей ошибкой:

DEP7100: Failed to activate app '748f39e5-19db-43a2-ba4a-fb4b137bdbf3_4r2k005x7atxw!vstest.executionengine.universal.App' with parameters '--port 50037 --endpoint 127.0.0.1:050037 --role client --parentprocessid 5044 --telemetryoptedin false'. The app didn't start.
The app didn't start.
DEP7100: Failed to activate app '748f39e5-19db-43a2-ba4a-fb4b137bdbf3_4r2k005x7atxw!vstest.executionengine.universal.App' with parameters '--port 50037 --endpoint 127.0.0.1:050037 --role client --parentprocessid 5044 --telemetryoptedin false'. The app didn't start.
The app didn't start.
App activation failed.
Failed to initialize client proxy: could not connect to test process.
DEP7100: Failed to activate app '748f39e5-19db-43a2-ba4a-fb4b137bdbf3_4r2k005x7atxw!vstest.executionengine.universal.App' with parameters '--port 50040 --endpoint 127.0.0.1:050040 --role client --parentprocessid 5044 --telemetryoptedin false'. The app didn't start.
The app didn't start.
DEP7100: Failed to activate app '748f39e5-19db-43a2-ba4a-fb4b137bdbf3_4r2k005x7atxw!vstest.executionengine.universal.App' with parameters '--port 50040 --endpoint 127.0.0.1:050040 --role client --parentprocessid 5044 --telemetryoptedin false'. The app didn't start.
The app didn't start.

Здесь вы можете найти репозиторий с проектом UWP и тестовым проектом: https://dev.azure.com/melashkina0755/UWP_App_With_Tests

Вот последняя сборка, и вы можете видеть, чтобыло 2 теста, и они прошли (1 для x84, 1 для x64): https://dev.azure.com/melashkina0755/UWP_App_With_Tests/_build/results?buildId=3&view=ms.vss-test-web.build-test-results-tab

А вот и сама сборка: https://dev.azure.com/melashkina0755/UWP_App_With_Tests/_build/results?buildId=3&view=logs

Не уверен, что не так в моей конфигурации?

ОБНОВЛЕНИЕ

Я пробовал новые вещи:

1) Я создал еще одну ветку с агентом, размещаемым самостоятельно, он называется with_self_hosted_agent. Последняя сборка для этого здесь. В качестве самостоятельного агента я использовал свой ноутбук. Сборка прошла успешно, но тесты даже не запускались (не повезло): https://dev.azure.com/melashkina0755/UWP_App_With_Tests/_build/results?buildId=10

2) Я перешел только на архитектуру x86. Сборка только для x86 здесь (не повезло): https://dev.azure.com/melashkina0755/UWP_App_With_Tests/_build/results?buildId=9

3) Пробовал версию 1.3.1 в другой ветке с названием with_1.3.1_version. Тот же результат, что и для главной ветви: тесты запущены, но сборка не удалась. (не повезло): https://dev.azure.com/melashkina0755/UWP_App_With_Tests/_build/results?buildId=11

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Отсюда: https://github.com/MicrosoftDocs/vsts-docs/issues/6108

Оказалось, что существует 2 .appxrecipe файла. Один в папке Release, другой в папке Upload. А тот, который находится в папке Upload, не работает. И из-за этого сборка не получается. Таким образом, решение здесь состоит в том, чтобы использовать файл только из папки Release. Файл YML выглядит так:

# Universal Windows Platform
# Build a Universal Windows Platform project using Visual Studio.
# Add steps that test and distribute an app, save build artifacts, and more:
# https://aka.ms/yaml

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'x86|x64'
  buildConfiguration: 'Release'
  appxPackageDir: '$(build.artifactStagingDirectory)\AppxPackages\\'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    platform: 'x86'
    solution: '$(solution)'
    configuration: '$(buildConfiguration)'
    msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)" /p:AppxPackageDir="$(appxPackageDir)" /p:AppxBundle=Always /p:UapAppxPackageBuildMode=StoreUpload'

- task: VSTest@2
  inputs:
    platform: 'x86|x64'
    testSelector: 'testAssemblies'
    testAssemblyVer2: |
      **\Release\UnitTestProject1.build.appxrecipe <-- HERE IS FIX
      !**\*TestAdapter.dll
      !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)'
0 голосов
/ 25 октября 2019

Azure DevOps |Тестовое задание для UWP: DEP7100: Не удалось активировать приложение

Согласно журналу ошибок:

[error]App activation failed.
[error]Failed to initialize client proxy: could not connect to test process.

Вы можете попробовать выполнить следующие шаги в файле тестового проекта .csproj:

  • Изменить PackageReference на MSTest.TestAdapter и MSTest.TestFramework на версию 1.3.1

  • Добавить

    <PropertyGroup>
      <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
    </PropertyGroup> 
    

    inфайл тестового проекта.

Проверьте эту ветку для получения более подробной информации.

Кроме того, я заметил, что вы используете размещенные на Microsoft агенты длясоздавать проекты, но в соответствии с документом Ориентация и совместимость платформы Visual Studio 2019 :

Универсальные приложения Windows можно создавать из командной строки при использовании Windows Server 2012 R2 или WindowsServer 2016.

Итак, я не уверен, что мы могли бы запускать приложения UWP на Windows Server 2019.

В качестве обходного пути вы можете создать свой собственный агент на компьютере с Windows 10.

Надеюсь, это поможет.

...