Манифест пакета Appx недействителен. (Исключение из HRESULT: 0x80080204)’

#c# #visual-studio #uwp

#c# #visual-studio #uwp

Вопрос:

Я пытаюсь запустить пакет в Visual Studio, который включает UWP и консоль. Я получаю сообщение «Манифест пакета Appx недействителен. (Исключение из HRESULT: 0x80080204)» в следующих строках:

     private async void OnLoad(object sender, RoutedEventArgs e)
    {
        if (ApiInformation.IsApiContractPresent("Windows.ApplicationModel.FullTrustAppContract", 1, 0))
        {
            await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
        }

    }
 

в последней закрывающей скобке. Windows 10 и Visual Studio обновлены на моем компьютере.

Вот манифест приложения:

 <?xml version="1.0" encoding="utf-8"?>

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap rescap">

  <Identity
    Name="6d600000-922a-4cd3-8f19-a6afc21809f9"
    Publisher="CN=11031121"
    Version="1.0.0.0" />

  <Properties>
    <DisplayName>WapProjTemplate2</DisplayName>
    <PublisherDisplayName>11031121</PublisherDisplayName>
    <Logo>ImagesStoreLogo.png</Logo>
  </Properties>

  <Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.0.0" MaxVersionTested="10.0.0.0" />
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
  </Dependencies>

  <Resources>
    <Resource Language="x-generate"/>
  </Resources>

  <Applications>
    <Application Id="App"
      Executable="$targetnametoken$.exe"
      EntryPoint="$targetentrypoint$">
      <uap:VisualElements
        DisplayName="WapProjTemplate2"
        Description="WapProjTemplate2"
        BackgroundColor="transparent"
        Square150x150Logo="ImagesSquare150x150Logo.png"
        Square44x44Logo="ImagesSquare44x44Logo.png">
        <uap:DefaultTile Wide310x150Logo="ImagesWide310x150Logo.png" />
        <uap:SplashScreen Image="ImagesSplashScreen.png" />
      </uap:VisualElements>
    </Application>
  </Applications>

  <Capabilities>
    <Capability Name="internetClient" />
    <rescap:Capability Name="runFullTrust" />
  </Capabilities>
</Package>
 

Комментарии:

1. Не могли бы вы предоставить нам подробный код об упаковке в манифесте?

2. хорошо, я только что отредактировал сообщение

Ответ №1:

Вам необходимо добавить windows.fullTrustProcess расширения в манифест вашего пакета, когда вы используете класс FullTrustProcessLauncher.

Например:

   <Applications>
    <Application Id="App"
      Executable="$targetnametoken$.exe"
      EntryPoint="$targetentrypoint$">
      ……

        <Extensions>
            <desktop:Extension
              xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
              Category="windows.fullTrustProcess"
              Executable="MyConsole/MyConsole.exe" />
        </Extensions>
        
    </Application>
  </Applications>
 

Обратите внимание, MyConsole (замените имя вашего консольного проекта) — это имя консольного проекта. Сначала вам нужно запустить консольный проект.