Partager via


Fourniture d'informations de création de packages et de déploiement dans des éléments de projet

Tous les éléments de projet SharePoint dans Visual Studio ont des propriétés que vous pouvez utiliser pour fournir des données supplémentaires lorsque le projet est déployé sur SharePoint. Ces propriétés sont les suivantes :

  • Propriétés de la fonctionnalité

  • Récepteurs de fonctionnalité

  • Références de sortie de projet

  • Entrées de contrôle sécurisé

Ces propriétés s'affichent dans la fenêtre Propriétés.

Propriétés de la fonctionnalité

Utilisez la propriété Feature Properties pour spécifier des données que la fonctionnalité utilise. Les données de propriétés de la fonctionnalité sont un jeu de valeurs (stocké sous forme de paires clé/valeur) inclus avec une fonctionnalité lors du déploiement sur SharePoint. Après avoir déployé la fonctionnalité, vous pouvez accéder aux valeurs de propriété dans votre code.

Lorsque vous ajoutez une valeur de propriété de fonctionnalité à un élément de projet, la valeur est ajoutée comme un élément dans le manifeste de la fonctionnalité de l'élément. Dans un projet de modèle BDC (Business Data Connectivity), par exemple, la propriété de fonctionnalité ModelFileName apparaît comme suit :

<Property Key="ModelFileName" Value="BdcModel1\BdcModel1.bdcm" /> 

Une fois que vous avez défini une valeur de propriété de fonctionnalité, elle est ajoutée comme élément FeatureProperty dans le fichier .spdata du projet. Pour plus d'informations sur l'accès aux propriétés dans SharePoint, consultez SPFeaturePropertyCollection, classe.

Les valeurs de propriété de fonctionnalité identiques de tous les éléments de projet sont fusionnées dans le manifeste de fonctionnalité. Toutefois, si deux éléments de projet différents spécifient la même clé de propriété de fonctionnalité sans que les valeurs correspondent, une erreur de validation se produit.

Pour ajouter directement des propriétés de fonctionnalité au fichier de fonctionnalités (* .feature), appelez la méthode de modèle d'objet Visual Studio SharePoint Add. Si vous utilisez cette méthode, sachez que la même règle à propos de l'ajout de valeurs de propriété de fonctionnalité identiques dans Propriétés de la fonctionnalité s'applique également aux propriétés ajoutées directement au fichier de fonctionnalités.

Récepteur de fonctionnalité

Les récepteurs de fonctionnalité correspondent à du code qui s'exécute lorsque certains événements se produisent pour la fonctionnalité conteneur d'un élément de projet. Par exemple, vous pouvez définir des récepteurs de fonctionnalité qui s'exécutent lorsque la fonctionnalité est installée, activée ou mise à niveau. Une manière d'ajouter un récepteur de fonctionnalité consiste à l'ajouter directement à une fonctionnalité, comme décrit dans Procédure pas à pas : ajout de récepteurs d'événements de fonctionnalité. Une autre manière consiste à référencer un assembly et un nom de classe de récepteur de fonctionnalité dans la propriété Feature Receiver.

Méthode directe

Lorsque vous ajoutez directement un récepteur de fonctionnalité à une fonctionnalité, un fichier de code est placé sous le nœud Fonctionnalité dans l'Explorateur de solutions. Lorsque vous générez votre solution SharePoint, le code effectue la compilation dans un assembly et est déployé vers SharePoint. Par défaut, les propriétés de fonctionnalité Assembly du récepteur et Classe du récepteur référencent le nom de classe et l'assembly.

Méthode de référence

Une autre manière d'ajouter un récepteur de fonctionnalité consiste à utiliser la propriété Feature Receiver d'un élément de projet pour référencer un assembly de récepteur de fonctionnalité. La valeur de la propriété Feature Receiver a deux sous-propriétés : Assembly et Class Name. L'assembly doit utiliser son nom qualifié complet « fort » et le nom de classe doit être le nom de type complet. Pour plus d'informations, consultez Assemblys avec nom fort (page éventuellement en anglais). Après avoir déployé la solution vers SharePoint, la fonctionnalité utilise le récepteur de fonctionnalité référencé pour gérer les événements de fonctionnalité.

Au moment de la génération de la solution, les valeurs de propriété du récepteur de fonctionnalité dans la fonctionnalité et ses projets fusionnent pour définir les attributs ReceiverAssembly et ReceiverClass de l'élément de fonctionnalité dans le manifeste de fonctionnalité du fichier de solution SharePoint (.wsp). Par conséquent, si les valeurs de propriété Assembly et Class Name d'un élément de projet et une fonctionnalité sont spécifiées, les valeurs de propriété de fonctionnalité et celles de l'élément de projet doivent correspondre. Si ces valeurs ne correspondent pas, vous recevez une erreur de validation. Si vous souhaitez qu'un élément de projet référence un assembly de récepteur de fonctionnalité autre que celui utilisé par sa fonctionnalité, déplacez-le vers une autre fonctionnalité.

Si vous référencez un assembly de récepteur de fonctionnalité qui n'est pas déjà sur le serveur, vous devez également inclure le fichier d'assembly dans le package, car Visual Studio ne l'y ajoute pas. Lorsque vous déployez la fonctionnalité, le fichier d'assembly est copié dans le global assembly cache (GAC) du système ou le dossier Bin dans le répertoire physique SharePoint. Pour plus d'informations, consultez Comment : ajouter et supprimer des assemblys supplémentaires.

Pour plus d'informations sur les récepteurs de fonctionnalité, consultez Récepteur d'événements de fonctionnalité et Feature, événements.

Références de sortie de projet

La propriété Project Output References spécifie une dépendance, telle qu'un assembly, que votre élément de projet doit exécuter. Par exemple, supposez que votre solution contient un projet BDC et un projet de classe. Si le projet BDC a une dépendance sur l'assembly que le projet de classe génère, vous pouvez référencer l'assembly dans la propriété Project Output References du projet BDC. Lorsque le projet BDC est empaqueté, l'assembly dépendant est inclus dans le package.

Les références de sortie de projet sont habituellement des assemblys, mais dans certains cas (projets Silverlight), il peut s'agir d'autres types de fichier.

Pour plus d'informations, consultez Comment : ajouter une référence de sortie de projet.

Entrées de contrôle sécurisé

SharePoint fournit un mécanisme de sécurité, appelé entrées de contrôle sécurisé, pour limiter l'accès à certains contrôles par des utilisateurs non fiables. Par conception, SharePoint permet aux utilisateurs non fiables de télécharger et de créer des pages ASPX sur le serveur SharePoint. Pour empêcher ces utilisateurs d'ajouter du code unsafe aux pages ASPX, SharePoint limite leur accès aux contrôles sécurisés. Les contrôles sécurisés sont des composants WebPart et des contrôles ASPX désignés comme sécurisés qui peuvent être utilisés par tout utilisateur sur votre site. Pour plus d'informations, consultez Étape 4 : ajouter votre composant WebPart à la liste des contrôles fiables.

Chaque élément de projet SharePoint dans Visual Studio a une propriété appelée Entrées de contrôle sécurisé qui a deux sous-propriétés booléennes : Sécurisé et Protégé contre les scripts. La propriété Sécurisé spécifie si les utilisateurs non approuvés peuvent accéder à un contrôle. La propriété Protégé contre les scripts spécifie si les utilisateurs non fiables peuvent afficher et modifier les propriétés d'un contrôle.

Les entrées de contrôle sécurisé sont référencées sur la base des assemblys. Vous ajoutez des entrées de contrôle sécurisé à l'assembly d'un projet en les entrant dans la propriété Entrées de contrôle sécurisé de l'élément de projet. Toutefois, vous pouvez également ajouter des entrées de contrôle sécurisé à l'assembly d'un projet via l'onglet Avancé du Concepteur de packages lorsque vous ajoutez un assembly supplémentaire au package. Pour plus d'informations, consultez Comment : marquer des contrôles comme étant des contrôles sécurisés ou Enregistrement d'un assembly de composant WebPart en tant que contrôle sécurisé (page éventuellement en anglais).

Entrées XML pour les contrôles sécurisés

Lorsque vous ajoutez une entrée de contrôle sécurisé à un élément de projet ou à l'assembly du projet, une référence est écrite dans le manifeste du package au format suivant :

<Assemblies>
    <Assembly Location="<assembly name>.dll"   
      DeploymentTarget="<'GlobalAssemblyCache' or 'WebApplication'">>
        <SafeControls>
            <SafeControl Assembly="<assembly name>.dll" Namespace=
              "<SharePoint project name>" Safe="<true/false>"   
                TypeName="<control name>" 
                SafeAgainstScript="<true/false>" />
        </SafeControls>
    </Assembly>
</Assemblies>

Voir aussi

Concepts

Utilisation de modules pour inclure des fichiers dans la solution

Autres ressources

Empaquetage et déploiement de solutions SharePoint

Extension de la création de packages et du déploiement SharePoint