Fusionner du code XML dans des manifestes de fonctionnalités et de packagesMerging XML in Feature and Package Manifests

Fonctionnalités et les packages sont définis par XMLXML fichiers manifeste.Features and packages are defined by XMLXML manifest files. Ces manifestes ajoutés au package sont une combinaison des données générées par les concepteurs et personnalisé XMLXML les utilisateurs entrent dans le modèle de manifeste.These packaged manifests are a combination of data generated from designers and custom XMLXML entered in the manifest template by users. Au moment de l’empaquetage, Visual StudioVisual Studio fusionne personnalisé XMLXML instructions avec fournie par le concepteur XMLXML pour former le package XMLXML fichier manifeste.At packaging time, Visual StudioVisual Studio merges the custom XMLXML statements with the designer-provided XMLXML to form the packaged XMLXML manifest file. Les éléments semblables, avec les exceptions notées ultérieurement dans Exceptions de fusion, sont fusionnés pour éviter XMLXML erreurs de validation une fois que vous déployez les fichiers sur SharePoint, et pour rendre le manifeste des fichiers plus petits et plus efficace.Similar elements, with the exceptions noted later in Merge Exceptions, are merged to avoid XMLXML validation errors after you deploy the files to SharePoint, and to make the manifest files smaller and more efficient.

Modification des manifestesModifying the Manifests

Vous ne peut pas modifier directement les fichiers manifestes du package jusqu'à ce que vous désactiviez les concepteurs de fonctionnalité ou un package.You cannot directly modify the packaged manifest files until you disable the feature or package designers. Toutefois, vous pouvez ajouter manuellement personnalisé XMLXML éléments pour le modèle de manifeste via les concepteurs de fonctionnalité et de package ou le XMLXML éditeur.However, you can manually add custom XMLXML elements to the manifest template either through the feature and package designers or the XMLXML editor. Pour plus d’informations, consultez Comment : personnaliser une fonctionnalité SharePoint et Comment : personnaliser un Package de Solution SharePoint.For more information, see How to: Customize a SharePoint Feature and How to: Customize a SharePoint Solution Package.

Processus de fusion de manifeste de fonctionnalité et PackageFeature and Package Manifest Merge Process

Lors de la combinaison d’éléments personnalisés avec des éléments fournis par le concepteur, Visual StudioVisual Studio utilise le processus suivant.When combining custom elements together with designer-provided elements, Visual StudioVisual Studio uses the following process. Visual StudioVisual Studio vérifie si chaque élément a une valeur de clé unique. checks whether each element has a unique key value. Si un élément n’a aucune valeur de clé unique, il est ajouté au fichier de manifeste du package.If an element has no unique key value, it is appended to the packaged manifest file. De même, les éléments qui ont plusieurs clés ne peuvent pas être fusionnés.Similarly, elements that have multiple keys cannot be merged. Par conséquent, ils sont ajoutés au fichier manifeste.Therefore, they are appended to the manifest file.

Si un élément a une clé unique, Visual StudioVisual Studio compare les valeurs du concepteur et de clés personnalisés.If an element has a unique key, Visual StudioVisual Studio compares the values of the designer and custom keys. Si les valeurs correspondent, elles fusionnent en une seule valeur.If the values match, they merge into a single value. Si les valeurs diffèrent, la valeur de clé de concepteur est ignorée et la valeur de clé personnalisée est utilisée.If the values differ, the designer key value is discarded and the custom key value is used. Collections sont également fusionnées.Collections are also merged. Par exemple, si l’objet généré par le concepteur XMLXML et personnalisé XMLXML les deux contenir une collection d’assemblys, le manifeste du package contient uniquement une collection d’assemblys.For example, if the designer-generated XMLXML and the custom XMLXML both contain an Assemblies collection, the packaged manifest contains only one Assemblies collection.

Exceptions de fusionMerge Exceptions

Visual StudioVisual Studio fusionne la plupart des concepteur XMLXML éléments personnalisés semblables XMLXML éléments tant qu’ils ont un attribut d’identification unique et unique. merges most designer XMLXML elements together with similar custom XMLXML elements as long as they have a single, unique identifying attribute. Toutefois, certains éléments n’ont pas l’identificateur unique requis pour XMLXML la fusion.However, some elements lack the unique identifier required for XMLXML merging. Ces éléments sont appelés exceptions de fusion.These elements are known as merge exceptions. Dans ce cas, Visual StudioVisual Studio ne fusionne pas personnalisé XMLXML éléments fournis par le concepteur XMLXML éléments, mais les ajoute au fichier de manifeste du package.In these cases, Visual StudioVisual Studio does not merge the custom XMLXML elements together with the designer-provided XMLXML elements, but instead appends them to the packaged manifest file.

Voici une liste d’exceptions de fusion pour la fonctionnalité et de package XMLXML fichiers manifeste.Following is a list of merge exceptions for feature and package XMLXML manifest files.

DesignerDesigner Élément XMLXML Element
Concepteur de fonctionnalitésFeature designer ActivationDependencyActivationDependency
Concepteur de fonctionnalitésFeature designer UpgradeActionUpgradeAction
Concepteur de packagesPackage designer SafeControlSafeControl
Concepteur de packagesPackage designer CodeAccessSecurityCodeAccessSecurity

Éléments de manifeste de fonctionnalitéFeature Manifest Elements

Le tableau suivant est une liste de tous les éléments de manifeste de fonctionnalité qui peuvent être fusionnées et de leur clé unique qui est utilisée pour la correspondance.The following table is a list of all feature manifest elements that can be merged and their unique key that is used for matching.

Nom de l'élémentElement Name Clé uniqueUnique Key
Fonctionnalité (tous les attributs)Feature (all attributes) Nom d’attribut (chaque nom d’attribut de l’élément de fonctionnalité est une clé unique.)Attribute Name (Each attribute name of the Feature element is a unique key.)
ElementFileElementFile EmplacementLocation
ElementManifests/ElementManifestElementManifests/ElementManifest EmplacementLocation
Properties, propriétéProperties/Property ToucheKey
CustomUpgradeActionCustomUpgradeAction NameName
CustomUpgradeActionParameterCustomUpgradeActionParameter NameName

Note

Étant le seul moyen de modifier l’élément CustomUpgradeAction personnalisé XMLXML éditeur, l’effet de fusion ne pas est faible.Because the only way to modify the CustomUpgradeAction element is in the custom XMLXML editor, the effect of not merging is low.

Éléments de manifeste de packagePackage Manifest Elements

Le tableau suivant est une liste de tous les éléments de manifeste de package qui peuvent être fusionnées et de leur clé unique qui est utilisée pour la correspondance.The following table is a list of all package manifest elements that can be merged and their unique key that is used for matching.

Nom de l'élémentElement Name Clé uniqueUnique Key
Solution (tous les attributs)Solution (all attributes) Nom d’attribut (chaque nom d’attribut de l’élément de Solution est une clé unique.)Attribute Name (Each attribute name of the Solution element is a unique key.)
ApplicationResourceFiles/ApplicationResourceFileApplicationResourceFiles/ApplicationResourceFile EmplacementLocation
Assemblys / d’AssemblyAssemblies/Assembly EmplacementLocation
Série/ClassResourcesClassResources/ClassResource EmplacementLocation
DwpFiles/DwpFileDwpFiles/DwpFile EmplacementLocation
FeatureManifests/FeatureManifestFeatureManifests/FeatureManifest EmplacementLocation
RessourceResources/Resource EmplacementLocation
RootFiles/RootFileRootFiles/RootFile EmplacementLocation
SiteDefinitionManifests/SiteDefinitionManifestSiteDefinitionManifests/SiteDefinitionManifest EmplacementLocation
WebTempFileWebTempFile EmplacementLocation
Modèlefichiers/TemplateFileTemplateFiles/TemplateFile EmplacementLocation
SolutionDependencySolutionDependency SolutionIDSolutionID

Ajouter manuellement des fichiers déployésManually Add Deployed Files

Certains éléments de manifeste, tels que ApplicationResourceFile et DwpFiles, spécifient un emplacement qui inclut un nom de fichier.Some manifest elements, such as ApplicationResourceFile and DwpFiles, specify a location that includes a file name. Toutefois, l’ajout d’une entrée de nom de fichier pour le modèle de manifeste n’ajoute pas du fichier sous-jacent au package.However, adding a file name entry to the manifest template does not add the underlying file to the package. Vous devez ajouter le fichier au projet à inclure dans le package et définissez sa propriété Type de déploiement en conséquence.You must add the file to the project to include it in the package and set its Deployment Type property accordingly.

Voir aussiSee Also

Empaquetage et déploiement de Solutions SharePoint Packaging and Deploying SharePoint Solutions
Génération et débogage de solutions SharePointBuilding and Debugging SharePoint Solutions