注册Silverlight控件与Visual Studio和Blend
改变历史:
- 2009/4/30:发表的Visual Studio 2008 SP1中,Blend 3的预览,Silverlight 3的Beta 1中, 3 Silverlight的工具包2009年3月发布 。
- 2009/11/29:更新的Visual Studio 2010 Beta 2中 。
我会保持内容的更新与最新版本的Visual Studio,交融与Silverlight的。
介绍
这是Silverlight工具包 2009年3月发布一系列的设计时间,在实施变化的一部分。 这篇文章说明了与Visual Studio和Blend 3中运行的Silverlight 3工具包二零零九年三月安装Silverlight工具包后的整合,并解释它是如何做的,所以你可以注册你的Silverlight控件与Visual Studio和Blend。
Blend的集成
安装的Silverlight 3 Beta1的工具 , Blend 3的预览 , 和 Silverlight 3工具包2009年3月 (请参阅Silverlight工具包后设计的时代特点:2009年3月版本更新 ,Silverlight 3的发展与Visual Studio 2008和Blend 3的部分获取更多信息)后,创建一个Blend 3中的Silverlight 3应用,我们可以看到,Silverlight工具包控制自动显示在资产库 :
用户可以拖动拖放控件工具包从资源库设计或XAML视图,Blend会自动添加程序集的引用,xmlns前缀和XAML代码,非常方便:
Visual Studio集成
在Visual Studio中打开项目,我们可以看到工具箱控件显示自动在Visual Studio 工具箱 ,用户可以拖动拖放控件从工具箱设计或XAML视图:
除了 工具箱,工具包组件还表明,在添加引用对话框:
选择工具箱项 “对话框:
实施
与Visual Studio和Blend的集成是通过注册表。 如果你打开“的Silverlight 3工具包三月2009.msi”在奥卡 ,你可以看到注册法宝:
注册与Visual Studio
AssemblyFoldersEx
[HKLM | HKCU \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ 3.0 \ AssemblyFoldersEx大多是通过与Visual Studio注册。 在Visual Studio中的“引用”页有很好的解释对AssemblyFoldersEx和参考决议。 这是一个有点过时,而不是Silverlight的净。 但它主要是针对Silverlight,并显示新的工具箱与Visual Studio 2010的注册机制的根源。 我们努力合理化注册机制,巩固和简化跨像MSBUILD时,Visual Studio和Blend工具。
采取的Silverlight 3工具包2009年10月发行为例:
C:\>章查询的“HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ 3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910”/ S
HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ 3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910
(默认)REG_SZ:\ Program Files文件\微软的SDK \的Silverlight \ 3.0 \工具包\ Oct09 \ BIN \HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ 3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ 工具箱
- AssemblyFolderBase指示目标框架平台。 上面的注册表路径“\ SOFTWARE \ MICROSOFT \微软的SDK \ Silverlight的”指示Silverlight SDK的。 其他AssemblyFolderBase可能值:
- “\ SOFTWARE \ MICROSOFT \微软的SDK \ WINDOWS”
- “\ SOFTWARE \ MICROSOFT \。NETFramework”
- “NETCompactFramework \ SOFTWARE \ MICROSOFT \。”
- FrameworkVersion指示目标框架版本。 “3.0”在上面的例子表明,这是为Silverlight 3。 对于Silverlight 4中,使用“V4.0”。
- AssemblyFoldersSuffix描述的子目标。 “AssemblyFoldersEx”在上面的例子告诉构建系统如何解决程序集的引用时,引用的程序集的路径没有给出。 其他AssemblyFoldersSuffix典型值:
- “安装路径”:在Silverlight SDK的安装。
- “ReferenceAssemblies”:安装Silverlight SDK的参考组件。
- 的packageName表示登记的包的名称,它的默认值安装位置。 在上面的例子,“SilverlightToolkit0910”表示,这是Silverlight工具包10月2009年发布,其默认值的“C:\ Program Files文件\微软的SDK \的Silverlight \ 3.0 \工具包\ Oct09 \ BIN \”表示安装位置。 与此登记,工具包组件将显示在添加引用对话框,选择工具箱项“对话框,他们可以在不提示路径参考其他Silverlight项目。
- 工具箱 :存在的工具箱子键告诉Visual Studio 2010的扫描这个包的安装路径下的所有组件,并添加Visual Studio工具箱中发现的所有控制,除了那些指定ToolboxBrowsableAttribute的(假)。
工具箱控件安装(不推荐)
吉姆·中岛博客工具箱控件安装的WPF控制在他的岗位,你看到的工具箱控件安装在2007年。 工具箱控件安装包是现在的Visual Studio 2008的一部分,但它不工作,因为一个后来被修复的错误在Visual Studio 2010 Silverlight的。 鉴于新AssemblyFoldersEx \工具箱登记中的机制,没有理由使用Visual Studio 2010和更高版本的特克斯和凯科斯群岛。
注册与交融
注册与混合是通过HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \表达\混合\工具箱\的Silverlight \ 3.0 \ 3.0:
C:\>章查询“HKLM \ SOFTWARE \ MICROSOFT \表达\混合\ 3.0 \工具箱\ Silverlight的\ V3.0 \ SilverlightToolkit0910”的/ S
(默认)REG_SZ:\ Program Files文件\微软的SDK \的Silverlight \ 3.0 \工具包\ Oct09 \ BIN \
乌尼Ravindranathan的博客文章Blend 3中扩展这个机制的有关信息。 这个注册机制映射到上述的Visual Studio的注册机制,您可以:
- AssemblyFolderBase是“\ SOFTWARE \ MICROSOFT \表达\混合\ 3.0 \工具箱\ Silverlight的”
- FrameworkVersion是“3.0”
- PackageName是“SilverlightToolkit0910”,它的默认值的“C:\ Program Files文件\微软的SDK \的Silverlight \ 3.0 \工具包\ Oct09 \ BIN \”表示安装位置。
一个警告:如果注册的组件依赖于其他组件,这些组件依赖需要在注册程序集相同的目录,或自己在AssemblyFoldersEx注册如上所述。
结论
注册与Visual Studio和Blend使Silverlight工具包控制很多开发人员更容易使用。 我们正在不断寻找改善在希望的注册机制,使简单和一致的跨设计师(Visual Studio和混合)和技术(WPF和Silverlight)。 所有的反馈都欢迎!








最新评论