Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozšíření balíčků rozšiřují model rozšíření aplikace tím, že umožňují širší sdílení obsahu mezi balíčky. Hostitel rozšíření balíčku může přijímat rozšíření z libovolného balíčku, takže je vhodný pro scénáře rozšiřitelnosti na úrovni platformy.
Note
Rozšíření balíčků vyžadují Windows 11 a používají jmenný prostor uap17. Informace o dřívějším kompatibilním přístupu najdete v tématu Rozšíření aplikací , která používají uap3.
Rozšíření balíčků vs. rozšíření aplikací
| funkce | Rozšíření aplikací (uap3) |
Rozšíření balíčků (uap17) |
|---|---|---|
| Minimální operační systém | Windows 10 1607 | Windows 11 |
| Scope | Pro jednotlivé aplikace | Jednotlivé balíčky |
| Sdílení obsahu | Pouze veřejná složka | Úplný přístup k obsahu balíčku |
| Jmenný prostor manifestu | uap3:AppExtension |
uap17:PackageExtension |
Deklarujte hostitele rozšíření pro balíček
PackageExtensionHost Přidejte deklaraci do manifestu hostitelské aplikace:
<Package xmlns:uap17="http://schemas.microsoft.com/appx/manifest/uap/windows10/17" ...>
<Applications>
<Application ...>
<Extensions>
<uap17:Extension Category="windows.packageExtensionHost">
<uap17:PackageExtensionHost>
<uap17:Name>com.example.myplatform.extensions</uap17:Name>
</uap17:PackageExtensionHost>
</uap17:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Deklarace rozšíření balíčku
V manifestu balíčku rozšíření:
<Package xmlns:uap17="http://schemas.microsoft.com/appx/manifest/uap/windows10/17" ...>
<Applications>
<Application ...>
<Extensions>
<uap17:Extension Category="windows.packageExtension">
<uap17:PackageExtension Name="com.example.myplatform.extensions"
Id="MyExtension"
DisplayName="My Extension"
Description="Adds features to the platform">
<uap17:Properties>
<ExtensionType>content</ExtensionType>
<Version>1.0</Version>
</uap17:Properties>
</uap17:PackageExtension>
</uap17:Extension>
</Extensions>
</Application>
</Applications>
</Package>
Vyhledat rozšíření balíčků
Ke zjišťování rozšíření balíčků za běhu použijte stejné rozhraní API AppExtensionCatalog . Název hostitele odpovídá Name deklarovanému v manifestu:
var catalog = AppExtensionCatalog.Open("com.example.myplatform.extensions");
var extensions = await catalog.FindAllAsync();
foreach (var ext in extensions)
{
System.Diagnostics.Debug.WriteLine(
$"Found extension: {ext.DisplayName} ({ext.Id})");
// Read custom properties
var properties = await ext.GetExtensionPropertiesAsync();
// Access properties as needed
}
Osvědčené postupy
- Pro názvy rozšíření (například
com.company.app.extensions) použijte konvenci pojmenování reverzní domény. - Verze vašeho rozšiřujícího protokolu, aby hostitelské aplikace mohly zpracovávat staré a nové formáty rozšíření.
- Před použitím ověřte obsah rozšíření – rozšíření pocházejí z jiných balíčků a neměli byste jim slepě důvěřovat.
Související obsah
Windows developer