Procédure : définir le Framework et l’unité centrale cibles adéquats
Dernière modification : vendredi 30 avril 2010
S’applique à : SharePoint Foundation 2010
Cette rubrique explique comment définir le Microsoft .NET Framework et la plateforme UC cibles correctes pour vos projets de développement Microsoft SharePoint Foundation dans Microsoft Visual Studio.
Règles de ciblage
Les règles pour définir le Microsoft .NET Framework cible et la plateforme UC sont les suivantes :
Tous les projets Visual Studio développés par rapport au modèle objet client ou au modèle objet serveur de SharePoint Foundation doivent définir Microsoft .NET Framework 3.5 comme infrastructure cible. Cette règle s’applique, même si le type de projet Visual Studio n’est pas l’un des types de projets SharePoint 2010.
Tous les projets Visual Studio développés par rapport au modèle objet serveur de SharePoint Foundation, et par conséquent tous les types de projets SharePoint 2010, doivent définir x64 ou Tout processeur comme plateforme UC cible. Les deux choix présentent des avantages et des inconvénients.
x64 est le choix le plus précis, car une solution développée par rapport au modèle objet serveur SharePoint Foundationne peut pas cibler « tout » processeur. Toutefois, pour cibler x64, vous devez répéter la procédure intitulée Pour activer x64 comme cible de plateforme UC (indiquée plus loin dans cette rubrique) pour chaque solution Visual Studio qui cible x64. En outre, étant donné que certains assemblys Microsoft couramment appelés, tels que System.Data.dll et mscorlib.dll, sont eux-mêmes compilés pour tout processeur, vous risquez d’obtenir des avertissements du compilateur (pas des erreurs) selon lesquels un assembly référencé cible un processeur différent.
Tout processeur est le choix le plus facile, car il est toujours disponible comme option et son activation ne requiert aucune procédure spéciale. Toutefois, il est quelque peu trompeur, dans la mesure où il semble sous-entendre, à tort, que l’assembly obtenu pourrait être utilisé sur un ordinateur x86. En outre, les assemblys produits pour tout processeur peuvent occuper davantage d’espace disque que les assemblys produits pour un processeur x64.
Attention En règle générale, le fait de définir sur la plateforme UC x86 un projet qui cible le modèle objet serveur ne provoque pas d’erreur de compilateur. Toutefois, cela entraîne des erreurs d’exécution et un comportement inattendu au moment de l’exécution. Par exemple, le code qui obtient une référence à l’objet SharePoint Foundation SPFarm retourne null, tandis que le code qui obtient une référence aux objets enfants, tels que l’application Web, déclenche des exceptions FileNotFoundException.
Un projet Visual Studio développé par rapport au modèle objet client doit normalement être défini sur Tout processeur comme plateforme UC cible, car vous souhaitez généralement que vos applications clientes s’exécutent sur les ordinateurs x86 et x64. Vous pouvez, toutefois, spécifier x86 ou x64 si l’application est conçue pour ne s’exécuter que sur un seul type d’ordinateur client. Pour cibler x64, vous devez suivre les étapes indiquées dans la procédure Pour activer x64 comme cible de plateforme UC plus loin dans cette rubrique.
Une solution Visual Studio peut contenir plusieurs projets ; en outre, une même solution peut comporter des types de projets SharePoint 2010, ainsi que d’autres projets qui ne sont pas des types de projets SharePoint 2010. Si un projet SharePoint 2010 référence un autre type de projet, ou vice versa, ils doivent posséder la même plateforme UC cible. Par exemple, si votre solution est une application console qui s’exécute sur des serveurs SharePoint Foundation, vous pouvez tirer parti des fonctionnalités de déploiement et de retrait automatisés des types de projets SharePoint 2010. Dans ce cas, votre solution Visual Studio peut comporter un projet SharePoint vide et un projet Application console. Vous ajoutez l’exécutable de l’application console au package du projet SharePoint en utilisant la fonctionnalité Ajouter un assembly de l’onglet Options avancées de la fenêtre Propriétés du package. Lorsque vous ajoutez le projet Application console, il utilise par défaut x86 comme plateforme UC cible, tandis que le projet SharePoint vide (comme tous les types de projets SharePoint 2010) est défini par défaut sur Tout processeur. Après avoir ajouté l’exécutable au package, vous obtenez une erreur de compilateur tant que les deux projets ne sont pas définis sur la même plateforme UC cible. Vous devez définir l’application console sur Tout processeur ou définir les deux projets sur x64.
Pour activer x64 comme cible de plateforme UC
Une fois le projet créé, dans la barre d’outils Visual Studio, ouvrez la zone de liste déroulante Plateformes Solution.
Cliquez sur Gestionnaire de configurations.
Dans la boîte de dialogue Gestionnaire de configurations, ouvrez la zone de liste déroulante Plateforme de la solution active, puis cliquez sur <Nouveau> ….
Dans la boîte de dialogue Nouvelle plateforme de solution, sélectionnez x64 dans la zone de liste déroulante Tapez ou sélectionnez la nouvelle plateforme.
Sélectionnez x86 dans la zone de liste déroulante Copier les paramètres à partir de.
Cliquez sur OK.
Dans la boîte de dialogue Gestionnaire de configurations, assurez-vous que la case à cocher dans la colonne Générer est activée pour tous les projets de la solution.
Cliquez sur Fermer.