Formation
Parcours d’apprentissage
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Les packages facultatifs ont un contenu qui peut être inclus dans un package principal. Ces éléments sont utiles pour le contenu téléchargeable (DLC), en divisant une grande application pour les restrictions de taille ou pour l’expédition de tout contenu supplémentaire distinct de votre application d’origine. Pour plus d’informations sur les packages facultatifs, consultez le billet de blog : Étendre votre application à l’aide de packages facultatifs.
Les jeux associés sont une extension de packages facultatifs. Les ensembles associés vous permettent d’appliquer un ensemble strict de versions sur les packages principaux et facultatifs. Les jeux associés peuvent avoir différents éditeurs de l’application principale s’il est déployé en dehors du Windows Store. Pour plus d’informations sur les ensembles associés, consultez billet de blog : Outils pour créer un ensemble associé.
Packages facultatifs et ensembles associés s’exécutent tous à l’intérieur du conteneur MSIX de l’application principale.
Pour obtenir tous les derniers outils de développement, consultez Téléchargements et outils pour Windows 10.
Note
Pour soumettre une application qui utilise des packages facultatifs et/ou des ensembles associés au Microsoft Store, vous aurez besoin d’autorisation. Les packages facultatifs et les ensembles associés peuvent être utilisés pour les applications métier ou d’entreprise sans autorisation de l’Espace partenaires s’ils ne sont pas soumis à Windows Store. Pour obtenir l’autorisation de soumettre une application utilisant des packages facultatifs et des jeux connexes, consultez le Support technique pour les développeurs Windows.
Pendant que vous lisez cet article, nous vous recommandons de suivre l’exemple de code de package facultatif sur GitHub pour comprendre comment les packages facultatifs et les ensembles associés fonctionnent dans Visual Studio.
Pour créer un package facultatif dans Visual Studio, vous devez :
Package.appxmanifest
fichier. Accédez à l’onglet « Empaquetage » et notez le nom de votre famille de packages, qui est tout avant le caractère « _ ».Package.appxmanifest
Open with > XML (Text).<Dependencies>
dans le fichier. Ajoutez ce qui suit et remplacez [MainPackageDependency]
le nom de votre famille de packages à l’étape 2. Cela spécifie que votre package facultatif dépend de votre package principal.
<uap3:MainPackageDependency Name="[MainPackageDependency]"/>
Note
Si vous souhaitez créer un package facultatif à partir d’un autre éditeur, vous devez spécifier l’éditeur de l’application principale s’ils sont différents. Comme si <uap4 :MainPackageDependency Name="Main_app » Publisher="CN=Contoso... » />. Cela ne fonctionnera pas si vous publiez sur le Windows Store.
Une fois que vos dépendances de package sont configurées entre les étapes 1 et 4, vous pouvez continuer à développer comme vous le feriez normalement. Pour plus d’informations, consultez le billet de blog : Créer votre premier package facultatif.
Visual Studio peut être configuré pour redéployer votre package principal chaque fois que vous déployez un package facultatif. Pour définir la dépendance de build dans Visual Studio, vous devez :
À présent, chaque fois que vous entrez F5 ou générez un projet de package facultatif, Visual Studio génère d’abord le projet de package principal. Cela garantit que votre projet principal et vos projets facultatifs sont synchronisés.
Un ensemble associé se compose d’un package principal et d’un package facultatif étroitement couplé via des métadonnées spécifiées dans le fichier .appxbundle ou .msixbundle du package principal. Ces métadonnées relient le package principal au package facultatif (en utilisant le nom du fichier .appxbundle + version) et le package facultatif au package principal (à l’aide du nom indépendant de la version). Visual Studio vous aide à obtenir les métadonnées correctes dans vos fichiers.
Le contrôle de version des packages d’un ensemble associé est synchronisé d’une manière qui n’autorise pas l’utilisation de la dernière version d’un package tant que tous les packages de jeu associés (spécifiés par version dans le package principal) ne sont pas installés. Les packages sont gérés indépendamment, mais les packages spécifiés dans l’ensemble peuvent ne pas être utilisés tant que tous les packages n’ont pas été mis à jour. Pour plus d’informations sur les ensembles associés, consultez billet de blog : Outils pour créer un ensemble associé.
Pour configurer la solution de votre application pour les jeux associés, procédez comme suit :
Important
Le nouveau fichier texte doit être nommé : Bundle.Mapping.txt
.
Bundle.Mapping.txt
fichier, entrez la chaîne « [OptionalProjects] » suivie des chemins relatifs de vos projets de package facultatifs. Voici un exemple Bundle.Mapping.txt
de fichier : [OptionalProjects]
"..\ActivatableOptionalPackage1\ActivatableOptionalPackage1.vcxproj"
"..\ActivatableOptionalPackage2\ActivatableOptionalPackage2.vcxproj"
Lorsque votre solution est configurée de cette façon, Visual Studio crée un manifeste de bundle nommé AppxBundleManifest.xml pour le package principal avec toutes les métadonnées requises pour les jeux associés.
Notez que, comme les packages facultatifs, un Bundle.Mapping.txt
fichier pour les ensembles associés fonctionne uniquement sur Windows 10, version 1703 ou ultérieure. En outre, la version minimale de la plateforme cible de votre application doit être définie sur 10.0.15063.0 ou version ultérieure.
Les utilisateurs peuvent accéder à leur application Paramètres et supprimer les packages facultatifs. De même, les développeurs peuvent utiliser RemoveOptionalPackageAsync pour supprimer une liste de packages facultatifs.
PackageCatalog catalog = PackageCatalog.OpenForCurrentPackage();
List<string> optionalList = new List<string>();
optionalList.Add("FabrikamAgeAnalysis_kwpnjs8c36mz0");
// Warn user that application will be restarted.
var result = await catalog.RemoveOptionalPackagesAsync(optionalList);
if (result.ExtendedError != null)
{
throw removalResult.ExtendedError;
}
Note
Dans le cas d’un ensemble associé, la plateforme doit redémarrer l’application principale pour finaliser la suppression afin d’éviter les situations où l’application a du contenu chargé du package en cours de suppression. Les applications doivent informer les utilisateurs que l’application doit être redémarrée avant que l’application appelle l’API.
Si le package facultatif est le contenu uniquement, le développeur doit indiquer explicitement à la plateforme que le package sur le point de supprimer n’est pas utilisé par l’application avant que le développeur ne supprime le package facultatif. Cela permet également au développeur de supprimer le package sans redémarrage.
Le débogage d’un projet facultatif d’ensemble associé n’est actuellement pas pris en charge dans Visual Studio. Pour contourner ce problème, vous pouvez déployer et lancer l’activation (Ctrl + F5) et attacher manuellement le débogueur à un processus. Pour attacher le débogueur, accédez au menu « Déboguer » dans Visual Studio, sélectionnez « Attacher au processus... », puis attachez le débogueur au processus d’application principal.
Formation
Parcours d’apprentissage
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization