Регистрация управления Silverlight с Visual Studio и Blend
История изменений:
- 4/30/2009: опубликованные на Visual Studio 2008 SP1, Blend 3 просмотра, Silverlight 3 Beta 1 и Silverlight 3 Инструментарий марта 2009 выпуска .
- 11/29/2009: обновление для Visual Studio 2010 Beta 2 .
Я буду держать содержание в актуальном состоянии с последней версией 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 Инструментарий управления отображаются автоматически активами Библиотека:
Пользователь может перетащить Инструментарий управления с активами библиотеки для разработки и XAML зрения, и Blend автоматически добавить ссылки на сборку, xmlns префикс и XAML код, очень удобно:
Интеграция Visual Studio
Откройте проект в Visual Studio, мы видим, что Инструментарий управления появляется автоматически в Visual Studio Toolbox, и пользователь может перетащить элементы управления из Toolbox для проектирования или XAML зрения, а также:
Кроме того, панель инструментов, Инструментарий собрания также появляются в диалоговом Добавить ссылку:
и выберите Toolbox Пункты диалоговое окно:
Осуществление
Интеграция с Visual Studio и Blend осуществляется через реестр. Если вы откроете "Silverlight 3 марта 2009.msi Инструментарий" в 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
- AssemblyFolderBase указывает рамках платформы цели. Над реестра путь "\ Software \ Microsoft \ Microsoft SDK, \ Silverlight" указывает на Silverlight SDK. Другие возможные значения AssemblyFolderBase:
- "\ Software \ Microsoft \ Microsoft SDK, \ Windows"
- "\ Software \ Microsoft \. NETFramework"
- "\ Software \ Microsoft \. NETCompactFramework"
- FrameworkVersion указывает на версию целевой структуры. "V3.0" в приведенном выше примере означает это для Silverlight 3. Для Silverlight 4, используйте "v4.0".
- AssemblyFoldersSuffix описывает подцели. "AssemblyFoldersEx" в приведенном выше примере рассказывает строить системы, как разрешить собраний ссылки, когда путь указанного собрания не дано. Другие типичные значения AssemblyFoldersSuffix:
- "Установить путь": где Silverlight SDK установлен.
- "ReferenceAssemblies": где Silverlight SDK собраний ссылки установлены.
- PackageName указывается имя пакета зарегистрированы, и его значение по умолчанию указывает, где он установлен. В приведенном выше примере, "SilverlightToolkit0910" указывает на это Silverlight Инструментарий октября 2009 релиз, и его значение по умолчанию "C: \ Program Files \ Microsoft SDK, \ Silverlight \ v3.0 \ Инструментарий \ Oct09 \ Bin \" указывает, где он установлен. При этом регистрация, Инструментарий собрания будут отображаться в диалоговом Добавить ссылку и выберите Toolbox Пункты диалог, и они могут быть ссылки на другие проекты Silverlight без намека пути.
- Инструментарий: наличие подразделов 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). Все отзывы Добро пожаловать!








@ 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 в Значение по умолчанию его установки папку. Что касается внутренних классов на панели инструментов, это была ошибка с островов Теркс и Кайкос (многие из внутреннего контроля, не из ТЗ собраний), и должны быть главным образом обойти в последнем релизе ТЗ.
Спасибо,
Нин-
@ Харши
Привет Харши,
Да, это работает только для VS2010. Для VS2008, вы должны использовать ОТК, и это не обязательно сработает. Если вы разрабатываете для Silverlight, лучшим вариантом является перейти на VS2010.
Спасибо,
Нин-
Спасибо большое,
Это работает для меня против 2010. Но контроль не появляются в VS 2008. Как этого достичь .. пожалуйста, помогите!
Привет Нин,
Я использую 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.
@ Pushp
Привет Pushp,
Извините за беспокойство,
Да, значок вопросу известна, и нет общедоступной документации / поддерживаемые способ обойти его, AFAIK. Вы можете попробовать установить свой контроль первый, а затем установить Silverlight SDK, или его обновления, и убедиться в том, что исправить ваш контроль выдачи регистрации.
Мы будем выпускать новый механизм регистрации контроля, а также решить проблему островов Теркс и Кайкос, с VS2010, так что надеюсь это будет получить намного проще.
Спасибо,
Нин-
Привет Нин,
Спасибо за разъяснение. Есть кто-нибудь другой подход, я мог бы следовать, чтобы достичь того же результата? Это очень важно для моего проекта.
Я также попытался инструментария Silverlight способ продемонстрировать свой контроль (введение реестра в Microsoft SDK, / Silverlight ... и использование пользовательских действий (управляемый инструментарий actioins) для обновления инструментария, но вопрос с которыми я столкнулся в том, что я не вижу иконки для моего управления на панели инструментов, а я вижу значок по умолчанию для всех моих контроля.
Любая помощь будет принята с благодарностью.
Спасибо,
Pushp
@ Pushp
Привет Pushp,
Это не будет работать. Как я крикнул, Есть некоторые вопросы, с островов Теркс и Кайкос в VS2008, которые будут исправлены в VS2010 (CTP или не Beta1). Мы также работаем на упрощение инструментария регистрации, так что следите за обновлениями на следующий публичный релиз VS2010.
Спасибо,
Нин-
Привет,
А параметр реестра значение SilverlightControls до 1 (вместо WPFControls) для регистрации Silverlight контроля в работе В. С. для вас? Хотя он работает для WPF, ее не работает для Silverlight контроля.
Спасибо,
Pushp