Distribution d’un composant Windows Runtime managéDistributing a managed Windows Runtime Component

Vous pouvez distribuer votre composant Windows Runtime par copie des fichiers.You can distribute your Windows Runtime Component by file copy. Toutefois, si votre composant comporte de nombreux fichiers, l’installation peut être fastidieuse pour vos utilisateurs.However, if your component consists of many files, installation can be tedious for your users. En outre, des erreurs de placement des fichiers ou l’impossibilité de définir les références peuvent leur occasionner des problèmes.Also, errors in placing files or failure to set references might cause problems for them. Vous pouvez empaqueter un composant complexe sous la forme d’un kit de développement logiciel (SDK) d’extension Visual Studio pour en faciliter l’installation et l’utilisation.You can package a complex component as a Visual Studio extension SDK, to make it easy to install and use. Les utilisateurs doivent uniquement définir une référence pour le package entier.Users only need to set one reference for the entire package. Ils peuvent facilement localiser et installer votre composant à l’aide de la boîte de dialogue extensions et mises à jour , comme décrit dans recherche et utilisation des extensions Visual Studio.They can easily locate and install your component by using the Extensions and Updates dialog box, as described in Finding and Using Visual Studio Extensions.

Planification d’un composant Windows Runtime distribuablePlanning a distributable Windows Runtime Component

Choisissez des noms uniques pour les fichiers binaires, tels que vos fichiers .winmd.Choose unique names for binary files, such as your .winmd files. Nous recommandons le format suivant pour en garantir l’unicité :We recommend the following format to ensure uniqueness:

company.product.purpose.extension
For example: Microsoft.Cpp.Build.dll

Vos fichiers binaires seront installés dans des packages d’application, éventuellement avec les fichiers binaires d’autres développeurs.Your binary files will be installed in app packages, possibly with binary files from other developers. Consultez « SDK d’extension » dans Guide pratique pour créer un kit de développement logiciel(SDK).See "Extension SDKs" in How to: Create a Software Development Kit.

Pour décider du mode de distribution de votre composant, tenez compte de sa complexité.To decide how to distribute your component, consider how complex it is. Un SDK d’extension ou un gestionnaire de package similaire est recommandé lorsque :An extension SDK or similar package manager is recommended when:

  • Votre composant comporte plusieurs fichiers.Your component consists of multiple files.
  • Vous fournissez des versions de votre composant pour plusieurs plateformes (x86 et ARM, par exemple).You provide versions of your component for multiple platforms (x86 and ARM, for example).
  • Vous fournissez à la fois une version de débogage et une version commerciale de votre composant.You provide both debug and release versions of your component.
  • Votre composant comprend des fichiers et des assemblys utilisés uniquement au moment de la conception.Your component has files and assemblies that are used only at design time.

Un SDK d’extension est particulièrement utile si plusieurs des conditions ci-dessus s’appliquent.An extension SDK is particularly useful if more than one of the above are true.

Remarque    Pour les composants complexes, le système de gestion des packages NuGet offre une alternative open source aux kits de développement logiciel (SDK) d’extension.Note  For complex components, the NuGet package management system offers an open source alternative to extension SDKs. Tout comme les SDK d’extension, NuGet permet de créer des packages qui simplifient l’installation des composants complexes.Like extension SDKs, NuGet enables you to create packages that simplify the installation of complex components. Pour une comparaison des packages NuGet et des kits de développement logiciel (SDK) d’extension Visual Studio, consultez Ajout de références à l’aide de NuGet et d’un SDK d’extension.For a comparison of NuGet packages and Visual Studio extension SDKs, see Adding References Using NuGet Versus an Extension SDK.

Distribution par copie des fichiersDistribution by file copy

Si votre composant comporte un seul fichier .winmd ou un fichier .winmd et un fichier d’index de ressource (.pri), vous pouvez simplement mettre le fichier .winmd à la disposition des utilisateurs à des fins de copie.If your component consists of a single .winmd file, or a .winmd file and a resource index (.pri) file, you can simply make the .winmd file available for users to copy. Les utilisateurs pourront placer le fichier où ils souhaitent dans un projet, utiliser la boîte de dialogue Ajouter un élément existant pour ajouter le fichier .winmd au projet, puis utiliser la boîte de dialogue Gestionnaire de références pour créer une référence.Users can put the file wherever they want to in a project, use the Add Existing Item dialog box to add the .winmd file to the project, and then use the Reference Manager dialog box to create a reference. Si vous incluez un fichier .pri ou un fichier .xml, demandez aux utilisateurs de placer ces fichiers avec le fichier .winmd.If you include a .pri file or an .xml file, instruct users to place those files with the .winmd file.

Remarque    Visual Studio génère toujours un fichier. pri lorsque vous générez votre composant Windows Runtime, même si votre projet n’inclut aucune ressource.Note  Visual Studio always produces a .pri file when you build your Windows Runtime Component, even if your project doesn't include any resources. Si vous disposez d’une application de test pour votre composant, vous pouvez déterminer si le fichier. pri est utilisé en examinant le contenu du package d’application dans le \ dossier AppX de débogage bin \ .If you have a test app for your component, you can determine whether the .pri file is used by examining the contents of the app package in the bin\debug\AppX folder. Si le fichier .pri de votre composant n’apparaît pas à cet emplacement, vous n’avez pas besoin de le distribuer.If the .pri file from your component doesn't appear there, you don't need to distribute it. Vous pouvez également utiliser l’outil MakePRI.exe pour vider le fichier de ressources de votre projet de composant Windows Runtime.Alternatively, you can use the MakePRI.exe tool to dump the resource file from your Windows Runtime Component project. Par exemple, dans la fenêtre d’invite de commandes Visual Studio, tapez : makepri dump /if MyComponent.pri /of MyComponent.pri.xml Pour en savoir plus sur les fichiers .pri, consultez l’article Système de gestion des ressources (Windows).For example, in the Visual Studio Command Prompt window, type: makepri dump /if MyComponent.pri /of MyComponent.pri.xml You can read more about .pri files in Resource Management System (Windows).

Distribution par kit de développement logiciel (SDK) d’extensionDistribution by extension SDK

Un composant complexe inclut généralement des ressources Windows, mais reportez-vous à la remarque concernant la détection des fichiers .pri vides à la section précédente.A complex component usually includes Windows resources, but see the note about detecting empty .pri files in the previous section.

Pour créer un SDK d’extensionTo create an extension SDK

  1. Vérifiez que le SDK Visual Studio est installé.Make sure you have the Visual Studio SDK installed. Vous pouvez télécharger le SDK Visual Studio depuis la page Téléchargements Visual Studio.You can download the Visual Studio SDK from the Visual Studio Downloads page.

  2. Créez un projet à l’aide du modèle Projet VSIX,Create a new project using the VSIX Project template. qui se trouve sous Visual C# ou Visual Basic dans la catégorie Extensibilité.You can find the template under Visual C# or Visual Basic, in the Extensibility category. Ce modèle est installé en même temps que le SDK Visual Studio.This template is installed as part of the Visual Studio SDK. (L’article Procédure pas à pas : création d’un kit de développement logiciel (SDK) en C# ou Visual Basic ou Procédure pas à pas : création d’un kit de développement logiciel (SDK) en C++ illustre l’utilisation de ce modèle dans un scénario très simple.(Walkthrough: Creating an SDK using C# or Visual Basic or Walkthrough: Creating an SDK using C++, demonstrates the use of this template in a very simple scenario. ))

  3. Déterminez la structure de dossiers de votre SDK.Determine the folder structure for your SDK. La structure de dossiers commence au niveau racine de votre projet VSIX, avec les dossiers Références, Package redistribuable et DesignTime.The folder structure begins at the root level of your VSIX project, with the References, Redist, and DesignTime folders.

    • Références correspond à l’emplacement des fichiers binaires que les utilisateurs peuvent programmer.References is the location for binary files that your users can program against. Le SDK d’extension crée des références à ces fichiers dans les projets Visual Studio de vos utilisateurs.The extension SDK creates references to these files in your users' Visual Studio projects.
    • Package redistribuable correspond à l’emplacement des autres fichiers qui doivent être distribuées avec vos fichiers binaires, dans les applications qui sont créées à l’aide de votre composant.Redist is the location for other files that must be distributed with your binary files, in apps that are created by using your component.
    • DesignTime correspond à l’emplacement des fichiers utilisés uniquement lorsque les développeurs créent des applications qui utilisent votre composant.DesignTime is the location for files that are used only when developers are creating apps that use your component.

    Dans chacun de ces dossiers, vous pouvez créer des dossiers de configuration.In each of these folders, you can create configuration folders. Les noms autorisés sont debug, retail et CommonConfiguration.The permitted names are debug, retail, and CommonConfiguration. Le dossier CommonConfiguration est réservé aux fichiers qui sont identiques pour les versions commerciales ou de débogage.The CommonConfiguration folder is for files that are the same whether they're used by retail or debug builds. Si vous distribuez uniquement des versions commerciales de votre composant, vous pouvez tout placer dans CommonConfiguration et omettre les deux autres dossiers.If you're only distributing retail builds of your component, you can put everything in CommonConfiguration and omit the other two folders.

    Dans chaque dossier de configuration, vous pouvez fournir des dossiers d’architecture pour les fichiers spécifiques d’une plateforme.In each configuration folder, you can provide architecture folders for platform-specific files. Si vous utilisez les mêmes fichiers pour toutes les plateformes, vous pouvez fournir un dossier unique nommé neutral.If you use the same files for all platforms, you can supply a single folder named neutral. Vous pouvez trouver des informations sur la structure des dossiers, notamment d’autres noms de dossiers d’architecture, dans procédure : créer un kit de développement logiciel (SDK).You can find details of the folder structure, including other architecture folder names, in How to: Create a Software Development Kit. (Cet article présente à la fois les SDK de plateforme et les SDK d’extension.(That article discusses both platform SDKs and extension SDKs. Il peut s’avérer utile de réduire la section sur les SDK de plateforme afin d’éviter toute confusion.You may find it useful to collapse the section about platform SDKs, to avoid confusion. ))

  4. Créez un fichier de manifeste SDK.Create an SDK manifest file. Le manifeste spécifie les informations de nom et de version, les architectures prises en charge par votre kit de développement logiciel (SDK), les versions .NET et d’autres informations sur la façon dont Visual Studio utilise votre SDK.The manifest specifies name and version information, the architectures your SDK supports, .NET versions, and other information about the way Visual Studio uses your SDK. Vous trouverez plus d’informations et un exemple dans l’article Création d’un kit de développement logiciel (SDK).You can find details and an example in How to: Create a Software Development Kit.

  5. Générez et distribuez le kit de développement logiciel de l’extension.Build and distribute the extension SDK. Pour obtenir des informations détaillées, notamment la localisation et la signature du package VSIX, consultez déploiement VSIX.For in-depth information, including localizing and signing the VSIX package, see VSIX Deployment.