Главная > Дизайн времени , Silverlight > Регистрация управления Silverlight с Visual Studio и Blend

Регистрация управления Silverlight с Visual Studio и Blend

История изменений:

Я буду держать содержание в актуальном состоянии с последней версией Visual Studio, Blend и Silverlight.

Введение

Это является частью серии по дизайну времени осуществления изменений в Silverlight Инструментарий марта 2009 выпуска . Это сообщение свидетельствует интеграции Silverlight инструментарий Visual Studio и Blend 3 после запуска Silverlight 3 Инструментарий марта 2009 Installer, и объясняет, как это делается, так что вы можете зарегистрировать свой контроль Silverlight с Visual Studio и Blend тоже.

Blend интеграции

После установки Silverlight 3 Beta1 инструменты , Blend 3 Предварительный и Silverlight 3 Инструментарий марта 2009 (см. пост Silverlight Инструментарий Дизайн Время Особенности: Март 2009 Выпуск обновления , Silverlight 3 разработка с Visual Studio 2008 и Blend 3 раздел для получения дополнительной информации), создать Silverlight 3 приложения из Blend 3, мы видим, что Silverlight Инструментарий управления отображаются автоматически активами Библиотека:

Toolkit Controls in Asset Library, Controls Tab

Toolkit Controls in Asset Library, Custom Controls Tab

Пользователь может перетащить Инструментарий управления с активами библиотеки для разработки и XAML зрения, и Blend автоматически добавить ссылки на сборку, xmlns префикс и XAML код, очень удобно:

Drag and Drop Chart control from Asset Library

Интеграция Visual Studio

Откройте проект в Visual Studio, мы видим, что Инструментарий управления появляется автоматически в Visual Studio Toolbox, и пользователь может перетащить элементы управления из Toolbox для проектирования или XAML зрения, а также:

Toolkit Controls in Visual Studio Toolbox

Кроме того, панель инструментов, Инструментарий собрания также появляются в диалоговом Добавить ссылку:

Add Reference Dialog

и выберите Toolbox Пункты диалоговое окно:

image

Осуществление

Интеграция с Visual Studio и Blend осуществляется через реестр. Если вы откроете "Silverlight 3 марта 2009.msi Инструментарий" в Orca , вы можете увидеть регистрации магии:

Silverlight 3 Toolkit March 2009.msi in Orca

Зарегистрируйтесь в Visual Studio

AssemblyFoldersEx

Регистрация с помощью Visual Studio в основном осуществляется через [HKLM | HKCU] \ Software \ Microsoft \ Microsoft SDK, \ Silverlight \ v3.0 \ AssemblyFoldersEx. Ссылки в Visual Studio странице очень хорошее объяснение на AssemblyFoldersEx и справочные резолюции. Это немного устарело, и для. Чистых, а не Silverlight. Но это в основном право на Silverlight тоже, и показывает, корень нового механизма регистрации инструментов с Visual Studio 2010. Мы много работали, чтобы рационализировать механизм регистрации, укрепления и упрощения его через такие инструменты, как MSBuild, Visual Studio и Blend.

Возьмите Silverlight 3 Инструментарий октября 2009 релиз , как например:

C: \> р-запроса "HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDK, \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910" / с

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDK, \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910
(По умолчанию) REG_SZ C: \ Program Files \ Microsoft SDK, \ Silverlight \ v3.0 \ Инструментарий \ Oct09 \ Bin \

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SDK, \ Silverlight \ v3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ Toolbox

  1. AssemblyFolderBase указывает рамках платформы цели. Над реестра путь "\ Software \ Microsoft \ Microsoft SDK, \ Silverlight" указывает на Silverlight SDK. Другие возможные значения AssemblyFolderBase:
    • "\ Software \ Microsoft \ Microsoft SDK, \ Windows"
    • "\ Software \ Microsoft \. NETFramework"
    • "\ Software \ Microsoft \. NETCompactFramework"
  2. FrameworkVersion указывает на версию целевой структуры. "V3.0" в приведенном выше примере означает это для Silverlight 3. Для Silverlight 4, используйте "v4.0".
  3. AssemblyFoldersSuffix описывает подцели. "AssemblyFoldersEx" в приведенном выше примере рассказывает строить системы, как разрешить собраний ссылки, когда путь указанного собрания не дано. Другие типичные значения AssemblyFoldersSuffix:
    • "Установить путь": где Silverlight SDK установлен.
    • "ReferenceAssemblies": где Silverlight SDK собраний ссылки установлены.
  4. PackageName указывается имя пакета зарегистрированы, и его значение по умолчанию указывает, где он установлен. В приведенном выше примере, "SilverlightToolkit0910" указывает на это Silverlight Инструментарий октября 2009 релиз, и его значение по умолчанию "C: \ Program Files \ Microsoft SDK, \ Silverlight \ v3.0 \ Инструментарий \ Oct09 \ Bin \" указывает, где он установлен. При этом регистрация, Инструментарий собрания будут отображаться в диалоговом Добавить ссылку и выберите Toolbox Пункты диалог, и они могут быть ссылки на другие проекты Silverlight без намека пути.
  5. Инструментарий: наличие подразделов Toolbox рассказывает Visual Studio 2010 для проверки всех узлов в путь установки этого пакета, и добавить все элементы управления, чтобы найти Visual Studio Toolbox, за исключением тех, кто ToolboxBrowsableAttribute (ложь) указан.
Инструменты управления установки (не рекомендуется)

Джим Nakashima своем блоге о Toolbox управления установки для управления WPF на своем посту Вы видели панели управления установки? в 2007 году. Инструменты управления установки пакета сейчас является частью Visual Studio 2008, но это не работает для Silverlight из-за ошибка, которая позднее зафиксированные в Visual Studio 2010. С учетом новых AssemblyFoldersEx \ Toolbox механизма регистрации, нет смысла использовать ОТК с Visual Studio 2010 и выше.

Зарегистрируйтесь в Blend

Регистрация с помощью Blend осуществляется через HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Выражение \ Blend \ v3.0 \ Toolbox \ Silverlight \ v3.0:

C: \> р-запроса "HKLM \ SOFTWARE \ Microsoft \ \ Expression Blend \ 3,0 \ Toolbox \ Silverlight \ v3.0 \ SilverlightToolkit0910" / с

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ \ Expression Blend \ 3,0 \ Toolbox \ Silverlight \ v3.0 \ SilverlightToolkit0910
(По умолчанию) REG_SZ C: \ Program Files \ Microsoft SDK, \ Silverlight \ v3.0 \ Инструментарий \ Oct09 \ Bin \

Unni Ravindranathan Дневник пользователя после Blend 3 Расширяемость больше информации об этом механизме. Вы можете вид отображения этого механизма регистрации выше Visual Studio механизм регистрации:

  • AssemblyFolderBase это "\ Software \ Microsoft \ Выражение \ Blend \ v3.0 \ Toolbox \ Silverlight"
  • FrameworkVersion является "3,0"
  • PackageName является "SilverlightToolkit0910", а его значение по умолчанию "C: \ Program Files \ Microsoft SDK, \ Silverlight \ v3.0 \ Инструментарий \ Oct09 \ Bin \" указывает, где он установлен.

Одно предостережение: если зарегистрированный собраний зависеть от других узлов, тех, кто зависит собрания должны быть в той же папке, зарегистрированных собраний, или самих себя, зарегистрированным под AssemblyFoldersEx как описано выше.

Заключение

Регистрация с Visual Studio и Silverlight Blend делает Инструментарий управления гораздо проще в использовании для разработчиков. Мы постоянно ищем на совершенствование механизма регистрации в надежде сделать его простым и практикой разных дизайнеров (Visual Studio и Blend) и технологий (WPF и Silverlight). Все отзывы Добро пожаловать!

Делите и наслаждайтесь:

  • Print
  • email
  • RSS
  • Twitter
  • TwitThis
  • del.icio.us
  • LinkedIn
  • Technorati
  • Facebook
  • Google Bookmarks
  • Live
  • MySpace
  • QQ书签
  1. 19 июля 2010 в 20:58 | # 1

    @ Doych
    Привет Doych,

    Кроме того, HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SDK, \ Silverlight \ v4.0 \ AssemblyFoldersEx \ RedControl \ Toolbox, то вам также потребуется установить HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SDK, \ Silverlight \ v4.0 \ AssemblyFoldersEx \ RedControl в Значение по умолчанию его установки папку. Что касается внутренних классов на панели инструментов, это была ошибка с островов Теркс и Кайкос (многие из внутреннего контроля, не из ТЗ собраний), и должны быть главным образом обойти в последнем релизе ТЗ.

    Спасибо,

    Нин-

  2. 19 июля 2010 в 20:51 | # 2

    @ Харши
    Привет Харши,

    Да, это работает только для VS2010. Для VS2008, вы должны использовать ОТК, и это не обязательно сработает. Если вы разрабатываете для Silverlight, лучшим вариантом является перейти на VS2010.

    Спасибо,

    Нин-

  3. Харша
    6 июня 2010 в 6:40 | # 3

    Спасибо большое,
    Это работает для меня против 2010. Но контроль не появляются в VS 2008. Как этого достичь .. пожалуйста, помогите!

  4. Doych
    7 апреля 2010 в 00:40 | # 4

    Привет Нин,

    Я использую VS2010 RTM с SL4. И я последовал за ваши предложения для того, чтобы зарегистрировать свой контроль Silverlight в Visual Studio Toolbox. Это не работа для меня. Я пытался зарегистрировать свой контроль без применения инструментов контроля Installer. Я просто добавил реестра -
    HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Microsoft SDK, \ Silverlight \ v4.0 \ AssemblyFoldersEx \ RedControl \ Toolbox

    Если добавить элемент управления на панели инструментов, создав новый Tab, а затем выберите пункты, она отлично работает.

    Интересно, что после установки Silverlight 4 марта 2010 Инструментарий, Инструментарий управления не были зарегистрированы надлежащим образом. Все их внутренние классы были видны.

    Есть ли у вас какие-либо предложения?

    Спасибо.

    Doychin.

  5. 3 августа 2009 в 6:49 | # 5

    @ Pushp
    Привет Pushp,

    Извините за беспокойство, :-( Да, значок вопросу известна, и нет общедоступной документации / поддерживаемые способ обойти его, AFAIK. Вы можете попробовать установить свой контроль первый, а затем установить Silverlight SDK, или его обновления, и убедиться в том, что исправить ваш контроль выдачи регистрации.

    Мы будем выпускать новый механизм регистрации контроля, а также решить проблему островов Теркс и Кайкос, с VS2010, так что надеюсь это будет получить намного проще.

    Спасибо,

    Нин-

  6. pushp
    2 августа 2009 в 21:53 | # 6

    Привет Нин,

    Спасибо за разъяснение. Есть кто-нибудь другой подход, я мог бы следовать, чтобы достичь того же результата? Это очень важно для моего проекта.

    Я также попытался инструментария Silverlight способ продемонстрировать свой контроль (введение реестра в Microsoft SDK, / Silverlight ... и использование пользовательских действий (управляемый инструментарий actioins) для обновления инструментария, но вопрос с которыми я столкнулся в том, что я не вижу иконки для моего управления на панели инструментов, а я вижу значок по умолчанию для всех моих контроля.

    Любая помощь будет принята с благодарностью.

    Спасибо,

    Pushp

  7. 1 августа 2009 в 14:52 | # 7

    @ Pushp
    Привет Pushp,

    Это не будет работать. Как я крикнул, Есть некоторые вопросы, с островов Теркс и Кайкос в VS2008, которые будут исправлены в VS2010 (CTP или не Beta1). Мы также работаем на упрощение инструментария регистрации, так что следите за обновлениями на следующий публичный релиз VS2010.

    Спасибо,

    Нин-

  8. pushp
    27 июля 2009 в 18:57 | # 8

    Привет,

    А параметр реестра значение SilverlightControls до 1 (вместо WPFControls) для регистрации Silverlight контроля в работе В. С. для вас? Хотя он работает для WPF, ее не работает для Silverlight контроля.

    Спасибо,
    Pushp

  1. Нет уведомлений.