注册Silverlight控件与Visual Studio和Blend
改变历史:
- 2009/4/30: 的Silverlight 3工具包的Visual Studio 2008 SP1中,Blend 3的预览,Silverlight 3的Beta 1中,并公布2009年3月推出 。
- 2009年11月29日:更新的Visual Studio 2010 Beta 2中 。
我将保持内容最新版本的Visual Studio,混合和Silverlight的日期。
简介
这是系列的一部分,在设计时,在实施改变Silverlight 工具包2009年3月发行。 这篇文章说明与Visual Studio和Blend 3的Silverlight工具包后运行的Silverlight 3工具包2009年3月安装的一体化,并解释它是如何做的,所以你可以注册使用Visual Studio和Blend的Silverlight控件。
混合集成
安装完成后的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”在ORCA ,你可以看到注册的魔法:
注册与Visual Studio
AssemblyFoldersEx
与Visual Studio注册主要是通过[HKLM | HKCU \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ V3.0 \ AssemblyFoldersEx。 在Visual Studio中的“引用 “页AssemblyFoldersEx和参考决议具有很好的解释。 这是一个有点过时,而不是Silverlight的净。 但它主要用于Silverlight的权利,并显示了与Visual Studio 2010的注册机制,新的工具箱的根源。 我们努力理顺登记机制,巩固和简化跨喜欢的MSBuild,Visual Studio和混合工具。
采取的Silverlight 3工具包2009年10月发布为例:
C:\>章查询“HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ V3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910”/ S
HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ V3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910
(默认)REG_SZ C:\ Program Files文件\微软的SDK \的Silverlight \ V3.0 \工具包\ Oct09 \ BIN \HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \微软的SDK \的Silverlight \ V3.0 \ AssemblyFoldersEx \ SilverlightToolkit0910 \ 工具箱
- AssemblyFolderBase指示目标的框架平台。 上面的注册表路径“\ SOFTWARE \ MICROSOFT \微软的SDK \ Silverlight”的指示Silverlight SDK中。 AssemblyFolderBase其他可能的值:
- “\ SOFTWARE \ 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年10月发布,其默认值的“C:\ PROGRAM FILES \ MICROSOFT SDK的\的Silverlight \ V3.0 \工具包\ Oct09 \ BIN \”表示安装它。 登记,工具包集会将显示在添加引用对话框中,选择工具箱项“对话框,他们可以在不提示的路径其他Silverlight项目的引用。
- 工具箱 :工具箱子键的存在告诉Visual Studio 2010来扫描这个包的安装路径下的所有程序集,并添加Visual Studio工具箱中发现的所有控制,除了那些与ToolboxBrowsableAttribute指定的(假),。
工具箱控件安装(不推荐)
吉姆中岛博客WPF控件工具箱控件安装在他的岗位,你见过工具箱中的控件安装 ?在2007年。 工具箱控件安装程序包是现在的Visual Studio 2008的一部分,但它并不适用于Silverlight的工作,因为一个是以后固定在Visual Studio 2010的bug。 鉴于新AssemblyFoldersEx \工具箱注册机制,没有任何理由使用与Visual Studio 2010 TCI和更高版本。
注册与混合
注册与混合是通过HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \表达式\混合\ V3.0 \工具箱\ Silverlight的\ V3.0:
C:\>章查询“HKLM \ SOFTWARE \ MICROSOFT \表达\混合\ 3.0 \工具箱\ Silverlight的\ V3.0 \ SilverlightToolkit0910”/ S
(默认)REG_SZ C:\ Program Files文件\微软的SDK \的Silverlight \ V3.0 \工具包\ Oct09 \ BIN \
乌尼Ravindranathan的博客文章Blend 3中扩展这个机制的有关信息。 您可以一种以上的Visual Studio的注册机制映射这个注册机制:
- AssemblyFolderBase是“\ SOFTWARE \ MICROSOFT \表达\混合\ V3.0 \工具箱\ Silverlight的”
- FrameworkVersion是“3.0”
- PackageName是“SilverlightToolkit0910”,它的默认值的“C:\ PROGRAM FILES \ MICROSOFT SDK的\的Silverlight \ V3.0 \工具包\ Oct09 \ BIN \”表示安装它。
警告:如果注册程序集依赖于其他组件,那些依赖程序集需要在注册程序集相同的目录,或自己下AssemblyFoldersEx注册如上所述。
结论
登记与Visual Studio和Blend使Silverlight工具包控制使用开发要容易得多。 我们正在不断寻找改善在希望的注册机制,使简单和一致的跨设计师(Visual Studio和混合)和技术(WPF和Silverlight)。 所有的反馈都欢迎您!








最近的评论