Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A csomagbővítmények kibővítik az alkalmazásbővítmény-modellt azáltal, hogy szélesebb körű tartalommegosztást tesz lehetővé a csomagok között. A csomagbővítmény-gazdagépek bármilyen csomagból elfogadhatnak bővítményeket, így alkalmasak platformszintű bővíthetőségi forgatókönyvekre.
Note
A csomagbővítmények használatához Windows 11 és a uap17 névtér használata szükséges. Korábbi kompatibilis megközelítésért tekintse meg a használt uap3.
Csomagbővítmények vs. app bővítmények
| Funkció | Alkalmazásbővítmények (uap3) |
Csomagbővítmények (uap17) |
|---|---|---|
| Operációs rendszer minimális száma | Windows 10 1607 | Windows 11 |
| Scope | Alkalmazásonként | Csomagonként |
| Tartalommegosztás | Csak nyilvános mappa | Teljes csomagtartalom-hozzáférés |
| Manifesztum névtér | uap3:AppExtension |
uap17:PackageExtension |
Csomagbővítmény-gazdagép deklarálása
Adjon hozzá egy PackageExtensionHost deklarációt a gazdaalkalmazás jegyzékfájljához:
<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>
Csomagbővítmény deklarálása
A bővítménycsomag jegyzékfájljában:
<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>
Csomagbővítmények felderítése
Használja ugyanazt az AppExtensionCatalog API-t a csomagbővítmények futásidejű felderítéséhez. A gazdagép neve megegyezik a manifesztumban deklarált Name értékkel:
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
}
Bevált gyakorlatok
- Használjon fordított tartománynév-konvenciót a bővítménynevekhez (például
com.company.app.extensions). - Verziószámozza a bővítményprotokollt, hogy a gazdagépalkalmazások kezelni tudják a régi és az új bővítményformátumokat.
- Használat előtt ellenőrizze a bővítmény tartalmát – a bővítmények más csomagokból származnak, és nem szabad vakon megbízhatónak lenniük.
Kapcsolódó tartalom
Windows developer