#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
(замените имя вашего консольного проекта) — это имя консольного проекта. Сначала вам нужно запустить консольный проект.