2016-02-23 3 views
12

Когда я бегу сертификации App на мой шаблон 10 на основе приложения, я получаю следующее сообщение об ошибке:App сертификации не удается из предстартовых испытаний

Обнаружена ошибка: Проверка приложения предстартовой обнаружены следующие ошибки: ◦The приложение не удалось предстартовых test - 49581RisingSoundMedia.ElectionCentral_1.1.7.0_x64__xrbjpqg44kdgm.

• Воздействие, если не установлено: приложение запускает более длительное время, даже если включен предварительный запуск.

• Как исправить: в реализации метода приложения OnLaunched убедитесь, что вы обрабатываете параметр LaunchActivatedEventArgs.PreLaunch, чтобы быть предупреждающим событием перед запуском.

Очевидно, что я не могу переопределить OnLaunched даже с шаблоном 10, потому что класс Bootstrap запечатывает его.

Я попытался переопределить OnPreLaunchAsync и установить continueStartup = false; но это не устранило проблему.

Любые идеи?

+0

Когда я устанавливаю continueStartup = true; и я отлаживаю Prelaunch в Visual Studio, приложение работает нормально. Если continueStartup = false (или не задано), он никогда не запускает OnInitializeAsync, и я получаю исключение ссылочной ссылки в событии OnStartAsync. –

+0

Когда я упаковываю приложение и запускаю тест сертификата приложения, он все равно терпит неудачу в тесте PreLaunch. Я протестировал его из VS с включенной поддержкой .net, и он работал нормально. –

ответ

8

Оказывается, что я смог опубликовать его в магазине, и он прошел сертификацию, даже если он локально локализовал локальный набор сертификатов приложений Windows.

+0

без ошибок? – yalematta

4

Да я имел эту проблему, сначала вы обновляли к Lastest версии шаблона 10 (1.1.4): https://www.nuget.org/packages/template10

Далее, что я должен был сделать, это переместить все из моего кода, который был в OnInitializeAsync и OnStartAsync который был в app.xaml.cs в App().

Вам необходимо сохранить OnInitializeAsync и OnStartAsync как можно более тонкими, вы должны сохранить в них только необходимый код Template10 и добавить свой код в App().

 public override Task OnInitializeAsync(IActivatedEventArgs args) 
     { 
      // content may already be shell when resuming 
      if ((Window.Current.Content as ModalDialog) == null) 
      { 
       // setup hamburger shell 
       var nav = NavigationServiceFactory(BackButton.Attach, ExistingContent.Include); 
       Window.Current.Content = new ModalDialog 
       { 
        DisableBackButtonWhenModal = true, 
        Content = new Shell(nav), 
        ModalContent = new Views.Busy(), 
       }; 
      } 
      return Task.CompletedTask; 
     } 


    public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) 
     { 
      NavigationService.Navigate(typeof(MainView)); 
      return Task.CompletedTask; 
     } 

В App() Я добавил Все мои мои методы инициализации для моего приложения, так что мое приложение() выглядит Лик это:

public App() 
    { 
     Microsoft.ApplicationInsights.WindowsAppInitializer.InitializeAsync(
      WindowsCollectors.Metadata | 
      WindowsCollectors.UnhandledException | 
      WindowsCollectors.PageView | 
      WindowsCollectors.Session 

      ); 

     this.InitializeComponent(); 
     var element = new ViewModelLocator(); 
     //Template10.Services.LoggingService.LoggingService.Enabled = true; 


     //Template 10 stuff 
     // DOCS: https://github.com/Windows-XAML/Template10/wiki/Docs-%7C-Cache 
     CacheMaxDuration = TimeSpan.FromDays(1); 

     // DOCS: https://github.com/Windows-XAML/Template10/wiki/Docs-%7C-BackButton 
     ShowShellBackButton = SettingsService.Instance.UseShellBackButton; 

     // DOCS: https://github.com/Windows-XAML/Template10/wiki/Docs-%7C-SplashScreen 
     SplashFactory = (e) => new Views.Splash(e); 


     //My code here 
     ApiRoot.Instance.Init(); 
     InitDeviceTypeAndResource(); 
     InitApiLanguage(); 
     InitAppLanguage(); 
     InitABCRatings(); 

     //For updating Tiles 
     RegisterBackgroundTask(); 
    } 

Я надеюсь, что это поможет вам!

+0

Хммм, я запускаю v1.1.4 шаблона 10, и у меня есть только код по умолчанию в методах App.cs. –

+0

Можете ли вы воспроизвести свою ошибку с образцами в шаблоне10?Если нет, вы можете показать мне какой-то код, чтобы я мог лучше видеть вас? – Damien

9

Это, кажется, известная проблема с ОС Windows App Cert Kit: https://developer.microsoft.com/en-us/windows/develop/app-certification-kit

"Тест App Prelaunch Проверка потерпит неудачу И.Г. вы бежите на версии Windows-10, выпущенных до версии 1607 (Windows Anniversary Edition, .) Обратите внимание, что этот тест не выполняется в рамках итоговой аттестации для представления Windows Store "

Разрешение: Чтобы обеспечить результаты в этом тесте проход, тест с ОС Windows-10 SDK версии (14393) работает на Windows-10 Anniversary Edition.

 Смежные вопросы

  • Нет связанных вопросов^_^