Accueil > Design Time , Silverlight > Registre Silverlight Controls avec Visual Studio et Blend

Inscrivez Silverlight Controls avec Visual Studio et Blend

l'historique des modifications:

Je vais garder le contenu à jour avec la dernière version de Visual Studio, Blend et Silverlight.

Introduction

Cela fait partie de la série sur le temps de mise en œuvre des changements de conception dans Silverlight Toolkit Mars 2009 Release . Ce message illustre l'intégration de Silverlight Toolkit avec Visual Studio et Blend 3 après l'exécution de Silverlight 3 Mars 2009 Installer Toolkit, et explique comment elle est faite, de sorte que vous pouvez enregistrer votre contrôle Silverlight avec Visual Studio et Blend trop.

Mélange d'intégration

Après l'installation de Silverlight 3 Beta1 Outils , Blend 3 Preview , et Silverlight 3 Mars 2009 Toolkit (s'il vous plaît voir le post Silverlight Toolkit moment du design Caractéristiques: Mars 2009 Communiqué de mise à jour , Silverlight 3 de développement avec Visual Studio 2008 et Blend 3 de l'article pour plus d'information), créer un Silverlight 3 Application de Blend 3, nous pouvons voir que les contrôles Silverlight Toolkit apparaissent automatiquement dans la bibliothèque d'actifs:

Toolkit Controls in Asset Library, Controls Tab

Toolkit Controls in Asset Library, Custom Controls Tab

L'utilisateur peut faire glisser et déposer des contrôles Toolkit d'Asset Library pour la conception ou la vue XAML et Blend automatiquement ajouter la référence de l'Assemblée, xmlns code préfixe et XAML, très pratique:

Drag and Drop Chart control from Asset Library

L'intégration de Visual Studio

Ouvrez le projet dans Visual Studio, nous pouvons voir que les contrôles Toolkit apparaissent automatiquement dans Visual Studio Boîte à outils, et l'utilisateur peut faire glisser et déposer des contrôles de boîte à outils pour la conception ou la vue XAML ainsi:

Toolkit Controls in Visual Studio Toolbox

Outre Boîte à outils, assemblages Toolkit également apparaître dans boîte de dialogue Ajouter référence:

Add Reference Dialog

Boîte à outils de dialogue Choisir des éléments:

image

Exécution

L'intégration avec Visual Studio et Blend est fait par l'intermédiaire du Registre. Si vous ouvrez "Silverlight 3 Toolkit 2009.msi Mars" dans Orca , vous pouvez voir la magie d'inscription:

Silverlight 3 Toolkit March 2009.msi in Orca

Inscrivez-vous sur Visual Studio

AssemblyFoldersEx

Inscription auprès de Visual Studio se fait directement via [HKLM | HKCU] \ Software \ Microsoft \ Microsoft SDKs \ Silverlight v3.0 \ AssemblyFoldersEx. Les références dans Visual Studio page a une bonne explication sur AssemblyFoldersEx et la résolution de référence. Il est un peu dépassées, et il est pour. Nets au lieu de Silverlight. Mais c'est surtout le droit pour Silverlight trop, et montre la racine de la boîte à outils mécanisme d'enregistrement de nouveaux avec Visual Studio 2010. Nous avons travaillé dur afin de rationaliser le mécanisme d'enregistrement, la consolidation et la simplification à travers des outils tels que MSBuild, Visual Studio et Blend.

Prenez Silverlight 3 Toolkit Octobre 2009 Sortie à 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 SDK \ Silverlight \ v3.0 \ Toolkit Oct09 \ \ Bin \

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDKs \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ Boîte à outils

  1. AssemblyFolderBase indique la plate-forme cadre cible. Dessus de la trajectoire de registre "\ Software \ Microsoft \ Microsoft SDKs \ Silverlight" indique Silverlight SDK. Les autres valeurs possibles de AssemblyFolderBase:
    • "Software \ \ Microsoft \ Microsoft SDKs \ Windows"
    • "\ Software \ Microsoft \. NETFramework"
    • "\ Software \ Microsoft \. NETCompactFramework"
  2. 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".
  3. AssemblyFoldersSuffix décrit le sous-objectif. "AssemblyFoldersEx" dans l'exemple ci-dessus indique la façon dont le système de compilation pour résoudre les références d'assemblage lors de chemin d'accès 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ù des assemblées de référence Silverlight SDK sont installés.
  4. PackageName indique le nom du paquet social, et sa valeur par défaut indique où il est installé. En exemple ci-dessus, "SilverlightToolkit0910" indique que cela est Silverlight Toolkit Octobre 2009 Sortie, et sa valeur par défaut "C: \ Program Files \ Microsoft SDK \ Silverlight \ v3.0 \ Toolkit Oct09 \ \ Bin \" indique l'endroit où il est installé. Avec cet enregistrement, les assemblées Toolkit apparaîtra dans boîte de dialogue Ajouter de référence et sélectionnez Boîte à outils des éléments de dialogue, et ils peuvent être des références de projets Silverlight autre sans chemin d'accès pointe.
  5. Boîte à outils: l'existence de boîte à outils sous clé raconte Visual Studio 2010 pour analyser tous les assemblages dans le chemin d'installation de ce package, et ajouter tous les contrôles trouvé Boîte à outils Visual Studio, sauf ceux ayant ToolboxBrowsableAttribute (false) spécifié.
Boîte à outils Contrôles Installer (obsolète)

Jim Nakashima blogué sur Boîte à outils Contrôles d'installation pour les contrôles WPF dans son poste Avez-vous vu la boîte à outils Contrôles d'installation? 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 nouvelle AssemblyFoldersEx \ mécanisme d'enregistrement Boîte à outils, il n'ya aucune raison d'utiliser TCI avec Visual Studio 2010 et versions ultérieures.

Inscrivez-vous à Blend

Inscription auprès de Blend est par HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Expression \ \ Blend v3.0 \ Toolbox \ Silverlight \ v3.0:

c: \> reg query "HKLM \ Software \ Microsoft \ 'expression \ mélange SilverlightToolkit0910 \ 3.0 \ toolbox \ Silverlight \ v3.0 \" / s

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ 'expression \ mélange \ 3.0 \ toolbox \ Silverlight \ v3.0 \ SilverlightToolkit0910
(Par défaut) REG_SZ C: \ Program Files \ Microsoft SDK \ Silverlight \ v3.0 \ Toolkit Oct09 \ \ Bin \

Unni Ravindranathan 's blog post 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 Visual Studio d'enregistrement:

  • AssemblyFolderBase est "\ Software \ Microsoft \ Expression \ Blend \ v3.0 \ Toolbox \ Silverlight"
  • FrameworkVersion est "3.0"
  • PackageName est "SilverlightToolkit0910", et sa valeur par défaut "C: \ Program Files \ Microsoft SDK \ 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, les assemblys dépendants doivent être dans le même répertoire que les assemblées enregistré ou se sont inscrits en vertu de AssemblyFoldersEx tel que décrit ci-dessus.

Conclusion

Enregistrement avec Visual Studio et Blend permet Silverlight Toolkit contrôles beaucoup plus facile à utiliser pour les développeurs. Nous sommes constamment à la recherche d'améliorer le mécanisme d'enregistrement dans l'espoir de le rendre simple et cohérente à travers les concepteurs (Visual Studio et Blend) et technologies (WPF et Silverlight). Tous les commentaires sont les bienvenus!

Share and Enjoy:

  • Print
  • email
  • RSS
  • Twitter
  • TwitThis
  • del.icio.us
  • LinkedIn
  • Technorati
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • QQ书签
  1. Harsha
    6 juin 2010 à 06:40 | # 1

    Merci beaucoup,
    Il s'agit de travailler pour moi avec VS 2010. Mais les contrôles n'apparaissent pas dans VS 2008. Comment faire pour atteindre cet objectif .. s'il vous plaît aider!

  2. Doych
    7 avril 2010 à 00:40 | # 2

    Ning Salut,

    J'utilise VS2010 RTM avec SL4. Et j'ai suivi vos suggestions afin d'enregistrer mon contrôle Silverlight dans Visual Studio Toolbox. Il ne fonctionne pas pour moi. J'ai essayé d'enregistrer mon contrôle, sans l'aide Boîte à outils de contrôle d'installation. Je viens d'ajouter la clé de registre -
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SDKs \ Silverlight \ v4.0 \ AssemblyFoldersEx \ RedControl \ Boîte à outils

    Si vous ajoutez le contrôle à la boîte à outils en créant un nouvel onglet, puis Choisir les éléments, il fonctionne très bien.

    Il est intéressant de noter que après l'installation de Silverlight Toolkit 4 Mars 2010, les contrôles n'ont pas été enregistrés Toolkit correctement. Tous leurs classes internes étaient visibles.

    Avez-vous des suggestions?

    Merci.

    Doychin.

  3. Août 3rd, 2009 at 06:49 | # 3

    Pushp @
    Pushp Salut,

    Désolé pour le dérangement :-( manière Oui, la question icône est connu, et il n'y a pas documentés publiquement ou soutenues pour le contourner, autant que je sache. Vous pouvez essayer d'installer vos contrôles d'abord, et ensuite installer Silverlight SDK, ou ses mises à jour, et voir si cela résoudre votre problème d'enregistrement de contrôle.

    Nous allons sortir un nouveau mécanisme de contrôle d'enregistrement, ainsi que de résoudre le problème TCI, avec VS2010, alors j'espère que cela va avoir une beaucoup plus facile.

    Merci,

    -Ning

  4. Pushp
    Août 2nd, 2009 à 21:53 | # 4

    Ning Salut,

    Merci pour les éclaircissements. Y at-il une autre démarche, je pouvais suivre pour obtenir le même résultat? Cela est essentiel pour mon projet.

    J'ai aussi essayé la boîte à outils Silverlight façon enregistre ses contrôles (mise entrées de Registre dans Microsoft SDK / Silverlight ... et en utilisant l'action personnalisée (gestion actioins toolkit) pour mettre à jour boîte à outils, mais la question que je suis face ici est que je ne vois pas les icônes pour mon contrôles dans la boîte à outils, au lieu que je vois une icône par défaut pour tous mes contrôles.

    Toute aide est grandement appréciée.

    Merci,

    Pushp

  5. Août 1st, 2009 à 14:52 | # 5

    Pushp @
    Pushp Salut,

    Il ne fonctionne pas. Comme je l'ai appelé, il ya quelques problèmes avec TCI dans VS2008 qui sera fixé dans VS2010 (pas CTP ou beta1). Nous travaillons aussi sur la simplification de l'enregistrement boîte à outils, alors restez branchés pour diffusion publique de la prochaine VS2010.

    Merci,

    -Ning

  6. Pushp
    Juillet 27, 2009 à 18:57 | # 6

    Salut,

    Avez-valeur de Registre fixation de SilverlightControls à 1 (au lieu de WPFControls) pour l'enregistrement des contrôles Silverlight VS dans le travail pour vous? Même si cela fonctionne pour WPF, sa ne fonctionne pas pour les contrôles Silverlight.

    Merci,
    Pushp

  1. Pas encore de trackbacks.