Проект UWP потерпел неудачу на Действиях GitHub, потому что сертификат недействителен APPX0107 - PullRequest
1 голос
/ 23 марта 2020

ITNOA

У меня есть проект в GitHub с проектом UWP в здесь .

Я хочу настроить действия GitHub для этого проекта с этим основным Конфигурация .yml

Когда действия GitHub хотят построить мое решение с помощью следующих команд

- name: Library build

  run: |

    cd src

    nuget restore

    msbuild PCLAppConfig.sln /verbosity:normal /t:Rebuild /p:Configuration=Release

Я вижу ошибку с ошибкой ниже в здании UWP

2020-03-23T13:07:20.1871936Z "D:\a\PCLAppConfig\PCLAppConfig\src\PCLAppConfig.sln" (Rebuild target) (1) ->
2020-03-23T13:07:20.1872322Z "D:\a\PCLAppConfig\PCLAppConfig\src\DemoApp\DemoApp.UWP\DemoApp.UWP.csproj" (Rebuild target) (10) ->
2020-03-23T13:07:20.1872524Z (_GenerateCurrentProjectAppxManifest target) -> 
2020-03-23T13:07:20.1872807Z   C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage\Microsoft.AppXPackage.Targets(2650,5): warning APPX0107: The certificate specified is not valid for signing. For more information about valid certificates, see http://go.microsoft.com/fwlink/?LinkID=241478. [D:\a\PCLAppConfig\PCLAppConfig\src\DemoApp\DemoApp.UWP\DemoApp.UWP.csproj]
2020-03-23T13:07:20.1873172Z 
2020-03-23T13:07:20.1873447Z 
2020-03-23T13:07:20.1873657Z "D:\a\PCLAppConfig\PCLAppConfig\src\PCLAppConfig.sln" (Rebuild target) (1) ->
2020-03-23T13:07:20.1873802Z "D:\a\PCLAppConfig\PCLAppConfig\src\DemoApp\DemoApp.UWP\DemoApp.UWP.csproj" (Rebuild target) (10) ->
2020-03-23T13:07:20.1873935Z (_GenerateAppxPackageFile target) -> 
2020-03-23T13:07:20.1874153Z   C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage\Microsoft.AppXPackage.Targets(3402,5): error APPX0107: The certificate specified is not valid for signing. For more information about valid certificates, see http://go.microsoft.com/fwlink/?LinkID=241478. [D:\a\PCLAppConfig\PCLAppConfig\src\DemoApp\DemoApp.UWP\DemoApp.UWP.csproj]
2020-03-23T13:07:20.1874919Z 
2020-03-23T13:07:20.1875022Z     4 Warning(s)
2020-03-23T13:07:20.1875125Z     1 Error(s)
2020-03-23T13:07:20.1875697Z 
2020-03-23T13:07:20.1875988Z Time Elapsed 00:03:28.50
2020-03-23T13:07:20.6575030Z ##[error]Process completed with exit code 1.

примечание: если я запускаю msbuild PCLAppConfig.sln /verbosity:normal /t:Rebuild /p:Configuration=Release на локальном компьютере, сборка прошла успешно и не было ошибок, и я могу запустить приложение UWP локально.

У меня вопрос, в чем заключается моя проблема? и как я могу решить эту проблему?

спасибо

1 Ответ

1 голос
/ 24 марта 2020

Вы должны установить PackageCertificateKeyFile и убедиться, что файл pu sh для GitHub. И вы должны добавить пароль в ваш файл pfx.

    /p:PackageCertificateKeyFile=Package_TemporaryKey.pfx /p:PackageCertificatePassword="123"

Пожалуйста, замените Package_TemporaryKey.pfx и пароль.

Если вы не хотите использовать pu sh файл pfx в GitHub, который вы можете использовать секреты github

Первый - это анализ файла pfx как строки base64.

Второй - установка строки base64 файла pfx в секреты github.

И затем вы можете использовать эту строку base64 перед началом сборки.

Decode the Base64 encoded Pfx
- name: Decode the Pfx
  run: |
    $pfx_cert_byte = [System.Convert]::FromBase64String("${{ secrets.Base64_Encoded_Pfx }}")
    $currentDirectory = Get-Location
    $certificatePath = Join-Path -Path $currentDirectory -ChildPath $env:Wap_Project_Directory -AdditionalChildPath $env:SigningCertificate
    [IO.File]::WriteAllBytes("$certificatePath", $pfx_cert_byte)

И вы можете найти мой пример кода в github

Редактировать

Я прочитал ваш код и нашел файлы DemoApp.UWP_TemporaryKey.pfx и Windows_TemporaryKey.pfx. Поскольку моя скорость Inte rnet очень мала, и не могли бы вы очистить свой код с помощью git clean -xdf и затем использовать командную строку для локальной компиляции? Возможно, вам следует явно указать, какой файл использовать.

...