S'enregistrer contrôles Silverlight avec Visual Studio et Blend
changer l'histoire:
- 30/04/2009: publié pour Visual Studio 2008 SP1, Blend 3 Preview, Silverlight 3 Beta 1 et 3 de Silverlight Toolkit Mars 2009 Communiqué .
- 29/11/2009: mise à jour pour Visual Studio 2010 Bêta 2 .
Je vais garder le contenu à jour avec la dernière version de Visual Studio, Blend et Silverlight.
Présentation
Cela fait partie de la série sur les changements de conception du temps de mise en œuvre de Silverlight Toolkit Mars 2009 Communiqué . Ce message illustre l'intégration de Silverlight Toolkit avec Visual Studio et Blend 3 après l'exécution de Silverlight Toolkit 3 Mars 2009 Installer, et explique comment elle est faite, de sorte que vous pouvez enregistrer votre contrôle Silverlight avec Visual Studio et Blend aussi.
Intégration Mélange
Après l'installation de Silverlight 3 Tools Beta1 , Blend 3 Preview , et Silverlight Toolkit 3 Mars 2009 (s'il vous plaît voir le post Silverlight Toolkit Design Time Caractéristiques: Mise à jour Mars 2009 Release , Silverlight 3 Développement avec Visual Studio 2008 et Blend 3 sections pour plus d'information), créer un Silverlight 3 Application à partir Blend 3, nous pouvons voir que Silverlight Toolkit commandes apparaissent automatiquement dans la bibliothèque d'actifs:
L'utilisateur peut faire glisser des contrôles Toolkit de la bibliothèque d'actifs à la conception ou de la vue XAML, et le mélange va automatiquement ajouter référence d'assemblage, et de préfixe xmlns code XAML, très pratique:
Visuel Studio Integration
Ouvrez le projet dans Visual Studio, nous pouvons voir que des contrôles Toolkit s'affichent automatiquement dans Visual Studio Toolbox, et l'utilisateur peut faire glisser des contrôles de boîte à outils pour la conception ou de la vue XAML ainsi:
Outre Boîte à outils, assemblages Toolkit aussi se manifester dans le dialogue Ajouter une référence:
Choisissez et boîte à outils de dialogue Éléments:
La mise en œuvre
L'intégration avec Visual Studio et Blend se fait via registre. Si vous ouvrez "Silverlight Toolkit 3 Mars 2009.msi» dans Orca , vous pouvez voir la magie d'inscription:
Inscrivez-vous à Visual Studio
AssemblyFoldersEx
Enregistrement avec Visual Studio se fait principalement via [HKLM | HKCU] \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx. Les références dans Visual Studio page a très bonne explication sur le AssemblyFoldersEx et la résolution de référence. Il est un peu désuet, et est pour. Net au lieu de Silverlight. Mais il est surtout bon pour Silverlight aussi, et montre la racine du mécanisme d'inscription de nouveaux outils avec Visual Studio 2010. Nous avons travaillé dur afin de rationaliser le mécanisme d'enregistrement, de consolidation et de la simplifier à travers des outils comme msbuild, Visual Studio et Blend.
Prenez Silverlight Toolkit 3 Octobre 2009 Communiqué à titre d'exemple:
c: \> reg query "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910" / s
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910
(Par défaut) REG_SZ C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ Toolbox
- AssemblyFolderBase indique la plateforme cadre cible. Surtout chemin du registre "\ Software \ Microsoft \ Microsoft SDKs \ Silverlight" indique Silverlight SDK. Autres valeurs possibles de AssemblyFolderBase:
- "\ Software \ Microsoft \ Microsoft SDKs \ Windows"
- "\ Software \ Microsoft \. NETFramework"
- "\ Software \ Microsoft \. NETCompactFramework"
- FrameworkVersion indique la version du cadre cible. "V3.0" dans l'exemple ci-dessus indique que cela est pour Silverlight 3. Pour Silverlight 4, utilisez "v4.0".
- AssemblyFoldersSuffix décrit le sous-objectif. "AssemblyFoldersEx" dans l'exemple ci-dessus indique comment construire le système pour résoudre les références de l'Assemblée lorsque le chemin de l'assembly référencé n'est pas donné. Autres valeurs typiques de AssemblyFoldersSuffix:
- "Chemin d'installation": où est installé le SDK de Silverlight.
- "ReferenceAssemblies": où Silverlight SDK assemblys de référence sont installés.
- PackageName indique le nom du package enregistré, et sa valeur par défaut indique l'endroit où il est installé. Dans l'exemple ci-dessus, "SilverlightToolkit0910" indique que cela est Silverlight Toolkit Octobre 2009 Communiqué, et sa valeur par défaut de "C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \" indique l'endroit où il est installé. Avec cet enregistrement, les assemblées Toolkit sera affiché dans le dialogue Ajouter une référence et de dialogue Éléments Choisissez Toolbox, et ils peuvent être des références par d'autres projets Silverlight sans chemin soupçon.
- Boîte à outils: l'existence de boîte à outils principaux sous raconte Visual Studio 2010 pour analyser tous les assemblages sous le chemin d'installation de ce package, et d'ajouter toutes les commandes trouve à Visual Studio Toolbox, sauf ceux avec ToolboxBrowsableAttribute (faux) spécifié.
Boîte à outils Contrôles Installer (obsolète)
Jim Nakashima blogué sur Boîte à outils Contrôles Installer des contrôles WPF dans son poste Avez-vous vu le programme d'installation Boîte à outils contrôles? en 2007. Boîte à outils Contrôles paquet d'installation fait maintenant partie de Visual Studio 2008, mais il ne fonctionne pas pour Silverlight cause d'un bug qui est ultérieure fixée dans Visual Studio 2010. Compte tenu de la AssemblyFoldersEx nouveau mécanisme \ registration Boîte à outils, il n'ya aucune raison d'utiliser TCI avec Visual Studio 2010 et versions ultérieures.
Inscrivez-vous à Mélange
Inscription auprès de mélange se fait par clé HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Expression \ Mélange \ v3.0 \ Toolbox \ Silverlight \ v3.0:
c: \> reg query "HKLM \ Software \ Microsoft \ 'expression \ mélange \ 3.0 \ toolbox \ Silverlight \ v3.0 \ SilverlightToolkit0910" / s
(Par défaut) REG_SZ C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \
Unni Ravindranathan Blog de l 'après Blend 3 extensibilité a plus d'informations sur ce mécanisme. Vous pouvez sorte de cartographie de ce mécanisme d'inscription ci-dessus mécanisme de studio d'enregistrement visuel:
- AssemblyFolderBase est "\ Software \ Microsoft \ Expression \ Mélange \ v3.0 \ Toolbox \ Silverlight"
- FrameworkVersion est "3.0"
- PackageName est "SilverlightToolkit0910", et sa valeur par défaut "C: \ Program Files \ Microsoft SDKs \ Silverlight \ v3.0 \ Toolkit \ Oct09 \ Bin \" indique l'endroit où il est installé.
Une mise en garde: si les assemblées enregistré dépendent d'autres assemblées, ces assemblys dépendants doivent être dans le même répertoire que les assemblées enregistré, ou eux-mêmes inscrits en vertu AssemblyFoldersEx comme décrit ci-dessus.
Conclusion
Inscription avec Visual Studio et Silverlight Toolkit Mélange rend les contrôles beaucoup plus facile à utiliser pour les développeurs. Nous cherchons constamment à améliorer le mécanisme d'enregistrement dans l'espoir de le rendre simple et cohérent entre les concepteurs (Visual Studio et Blend) et technologies (WPF et Silverlight). Tous les retours sont les bienvenus!








Les commentaires récents