存档

帖子标记'的Silverlight 3“

注册Silverlight控件与Visual Studio和Blend

2009年4月30 日,8条评论

改变历史:

我将保持内容最新版本的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工具包控制在资源库中自动显示:

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 工具箱 ,用户可以拖放控件从工具箱设计或XAML视图以及:

Toolkit Controls in Visual Studio Toolbox

除了 ​​工具箱,工具包大会还显示,在添加引用对话框:

Add Reference Dialog

选择工具箱项 “对话框:

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 \微软的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 \ 工具箱

  1. AssemblyFolderBase指示目标的框架平台。 上面的注册表路径“\ SOFTWARE \ MICROSOFT \微软的SDK \ Silverlight”的指示Silverlight SDK中。 AssemblyFolderBase其他可能的值:
    • “\ SOFTWARE \ MICROSOFT \微软的SDK \ WINDOWS”
    • “\ SOFTWARE \ MICROSOFT \。NETFramework”
    • “\ SOFTWARE \ MICROSOFT \ NETCompactFramework。”
  2. FrameworkVersion表示目标框架的版本。 “V3.0”在上面的例子表明,这是为Silverlight 3。 对于Silverlight 4中,使用“V​​4.0”。
  3. AssemblyFoldersSuffix描述的子目标。 “AssemblyFoldersEx”在上面的例子告诉如何解决程序集的引用时,引用的程序集的路径没有给出构建系统。 其他AssemblyFoldersSuffix典型值:
    • “安装路径”:在Silverlight SDK的安装。
    • “ReferenceAssemblies”:安装Silverlight SDK的参考组件。
  4. 的packageName表示登记的包的名称,它的默认值,表示安装它。 在上面的例子中,“SilverlightToolkit0910”表示,这是Silverlight工具包2009年10月发布,其默认值的“C:\ PROGRAM FILES \ MICROSOFT SDK的\的Silverlight \ V3.0 \工具包\ Oct09 \ BIN \”表示安装它。 登记,工具包集会将显示在添加引用对话框中,选择工具箱项“对话框,他们可以在不提示的路径其他Silverlight项目的引用。
  5. 工具箱 :工具箱子键的存在告诉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)。 所有的反馈都欢迎您!

的标签 Silverlight 混合 MSBUILD AssemblyFoldresEx 工具箱