Fournir des informations de packaging et de déploiement dans les é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 fonctionnalité

  • Récepteurs de fonctionnalité

  • Références de sortie de projet

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

    Les propriétés s’affichent dans la fenêtre Propriétés.

Propriétés de fonctionnalité

Utilisez la propriété Propriétés de fonctionnalité pour spécifier les données utilisées par la fonctionnalité. Les données de propriétés de fonctionnalité sont un ensemble de valeurs (stockées sous forme de paires clé/valeur) inclus avec une fonctionnalité au moment de son déploiement sur SharePoint. Une fois la fonctionnalité déployée, 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 en tant qu’élément dans le manifeste de la fonctionnalité de l’élément. Par exemple, dans un projet de modèle de Connectivité de données métiers (BDC), la propriété de fonctionnalité ModelFileName apparaît comme suit :

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

Après avoir défini une valeur de Propriété de fonctionnalité, elle est ajoutée en tant qu’élément FeatureProperty dans le fichier .spdata du projet. Pour plus d’informations sur l’accès aux propriétés dans SharePoint, voir CLASSE SPFeaturePropertyCollection.

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é avec des valeurs non correspondantes, une erreur de validation se produit.

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

Récepteur de fonctionnalité

Les récepteurs de fonctionnalité sont le code qui s'exécute quand certains événements se produisent pour une fonctionnalité contenant un élément de projet. Par exemple, vous pouvez définir des récepteurs de fonctionnalités qui s’exécutent lorsque la fonctionnalité est installée, activée ou mise à niveau. Une façon d’ajouter un récepteur de fonctionnalité consiste à l’ajouter directement à une fonctionnalité, comme décrit dans Procédure pas à pas : Ajouter des récepteurs d’événements de fonctionnalité. Une autre méthode consiste à référencer un nom de classe et un assembly de récepteur de fonctionnalités dans la propriété Récepteur de fonctionnalité .

Méthode directe

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

Reference (méthode)

Une autre façon d’ajouter un récepteur de fonctionnalités consiste à utiliser la propriété Récepteur de fonctionnalité d’un élément de projet pour référencer un assembly de récepteur de fonctionnalité. La valeur de la propriété Récepteur de fonctionnalité a deux sous-propriétés : Assembly et Nom de la classe. L’assembly doit utiliser son nom « fort » complet et le nom de la classe doit être le nom de type complet. Pour plus d’informations, consultez Assemblys avec nom fort. Après avoir déployé la solution sur 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 se fusionnent pour définir les attributs ReceiverAssembly et ReceiverClass de l’élément Fonctionnalité dans le manifeste de fonctionnalité du fichier de solution SharePoint (.wsp). Par conséquent, si les valeurs de propriété Assembly et Nom de classe d’un élément de projet et d’une fonctionnalité sont toutes deux spécifiées, les valeurs de l’élément de projet et de la propriété de fonctionnalité doivent correspondre. Si les valeurs ne correspondent pas, vous recevrez 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és qui n’est pas déjà sur le serveur, vous devez également inclure le fichier d’assembly lui-même dans le package ; Visual Studio ne l’ajoute pas pour vous. Lorsque vous déployez la fonctionnalité, le fichier d’assembly est copié dans le Global Assembly Cache (GAC) du système ou dans le dossier Bin dans le répertoire physique SharePoint. Pour plus d’informations, consultez Guide pratique pour ajouter et supprimer des assemblys supplémentaires.

Pour plus d’informations sur les récepteurs de fonctionnalités, consultez Récepteur d’événements de fonctionnalité et Événements de fonctionnalité.

Références de sortie de projet

La propriété Références de sortie de projet spécifie une dépendance, telle qu’un assembly, que votre élément de projet doit exécuter. Par exemple, supposons que votre solution dispose d’un projet BDC et d’un projet de classe. Si le projet BDC a une dépendance sur l’assembly qui est généré par le projet de classe, vous pouvez référencer l’assembly dans la propriété Références de sortie 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 généralement des assemblys, mais dans certains cas (par exemple, les projets Silverlight) il peut s’agir d’autres types de fichiers.

Pour plus d’informations, consultez Guide pratique pour 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 des utilisateurs non approuvés à certains contrôles. Par conception, SharePoint permet aux utilisateurs non approuvés de charger et de créer des pages ASPX sur le serveur SharePoint. Pour empêcher ces utilisateurs d’ajouter du code non sécurisé aux pages ASPX, SharePoint limite leur accès aux contrôles sécurisés. Les contrôles sécurisés sont des contrôles ASPX et des composants WebPart désignés comme sécurisés et qui peuvent être utilisés par n’importe quel utilisateur sur votre site. Pour plus d’informations, consultez Étape 4 : Ajouter votre composant WebPart à la liste des contrôles approuvés.

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 : Safe et Safe Against Script. La propriété Safe spécifie si les utilisateurs non approuvés peuvent accéder à un contrôle. La propriété Safe Against Script spécifie si les utilisateurs non approuvés 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 une base d’assembly. 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ées à l’assembly d’un projet via l’onglet Avancé du Concepteur de package lorsque vous ajoutez un assembly supplémentaire au package. Pour plus d’informations, consultez le Guide pratique pour marquer des contrôles en tant que contrôles sécurisés ou Inscription d’un assembly de composants WebPart en tant que contrôle sécurisé.

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>