VS2010中的Silverlight项目中的文件

来源:互联网 发布:集线器接入网络方式 编辑:程序博客网 时间:2024/05/01 18:06

我们使用 VS2010 新建 Silverlight 项目时,会有下面选项框:

image

(图1)

这里VS2010支持的 Silverlight 项目类型有以下三种:

  • ASP.NET Web Application Project
  • ASP.NET Web Site
  • ASP.NET MVC Web Project

VS2010支持的 Silverlight 版本只由3.0。

以ASP.NET Web Application Project 项目类型为例,以下为系统默认给我们建立的文件:

image

(图2)

 

下面我们就对其中的一些有代表性的文件作以介绍:

 

XAP 文件是啥?

以上面项目的 HelloWorldSilverlight.xap 文件为例,我们把它后缀修改为 zip 文件,用 rar 打开就可以看到下面信息:

image

(图3)

HelloWorldSilverlight.xap 就是编译打包后的 HelloWorldSilverlight 项目的输出文件。 只不过压缩了一下而已。

这个文件包括了Silverlight应用程序所需的一切文件,如程序集、资源文件等。这里的xap后缀没有任何特殊的意义,仅仅是Silverlight应用程序编译后打包文件的扩展名而已,本质上它是一个标准的zip压缩文件。

这个打包文件中的 AppManifest.xaml 文件相当于一个清单,以上面的代码为例,这个文件的内容就是:

<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" EntryPointAssembly="HelloWorldSilverlight" EntryPointType="HelloWorldSilverlight.App" RuntimeVersion="3.0.40818.0">  <Deployment.Parts>    <AssemblyPart x:Name="HelloWorldSilverlight" Source="HelloWorldSilverlight.dll" />    <AssemblyPart x:Name="System.Windows.Controls.Data.Input" Source="System.Windows.Controls.Data.Input.dll" />    <AssemblyPart x:Name="System.ComponentModel.DataAnnotations" Source="System.ComponentModel.DataAnnotations.dll" />  Deployment.Parts>Deployment>

Silverlight 开始执行时,加载入口在哪里,就在上面定义中的 EntryPointAssemblyEntryPointType

System.ComponentModel.DataAnnotations.dll 文件提供了用于为 ASP.NET 动态数据控件定义元数据的属性类。 

System.Windows.Controls.Data.Input.dll  文件提供了可用于Silverlight的控件。

 

我们如何修改编译打包的HelloWorldSilverlight.xap 文件的一些信息,我们可以通过打开 HelloWorldSilverlight 项目属性页面,如下图:

其中 Silverlight 属性页就可以让我们修改 生成的XAP文件名。

image

 

我们在图2中可以看到 HelloWorldSilverlight.Web WEB项目没有引用 HelloWorldSilverlight 项目,那为啥 HelloWorldSilverlight 项目 修改后可以及时同步到HelloWorldSilverlight.Web  呢?

原因:我们在 HelloWorldSilverlight.Web  项目的属性窗口中可以看到关于 Silverlight Application 的设置,如下:

image 

点击 Add 出现的窗口:

image

在这里我们可以指定是否使用默认的 ClientBin 目录。 需要引用那些 Silverlight 项目。是否启用调试等等。

 

以上全部为VS2010Beta2的截图,也许VS2010最终版本会有所变化。

参考资料:

一步一步学Silverlight 2系列(1):创建一个基本的Silverlight应用
http://www.cnblogs.com/Terrylee/archive/2008/03/07/Silverlight2-step-by-step-part1.html

稳扎稳打Silverlight(1) - 1.0实例之电子表

http://www.cnblogs.com/webabcd/archive/2007/09/17/895328.html

Silverlight 2应用程序中XAP文件揭秘
http://www.cnblogs.com/Terrylee/archive/2008/07/11/xap-file-revelation-in-silverlight-2.html

Silverlight.js 参考
http://msdn.microsoft.com/zh-cn/library/cc838126(VS.95,loband).aspx