Windows Phone Build Action(2)

      在WP开发当中我们常常会遇到图片无法显示,视频、音乐无法播放,可地址明明是正确的啊,究其原因呢,经过MSDN考证原来是Build Action的设置不当引起的。

      在资源文件上点击右键,选择Properties即打开属性窗口,如下图:

      在WP资源文件的Build Action中,我们经常会用到下面几种情况:

  • None:此文件将被忽略不参与编译和输出
  • Compile:文件将被编译为Microsoft 中间语言(IL),如文件扩展名为cs的文件
  • Content:文件将会打包进xap文件当中,以独立文件使用
  • Page:在WP当中,xaml页面文件都属于Page,除App.xaml文件外
  • Resource:文件将被编译到xap文件包的.dll文件内

      我们该如何选择资源文件的Build Action?

      在讲之前我们不得不说一下关于在Content和Resource情况下访问资源文件的路径方式;

  • Content:访问资源文件的路径方式相对简洁一些,如"/../.."
  • Resource:访问资源文件的路径方式繁琐一些,如"/PhoneApp1;component/Images/back.png",PhoneApp1是项目名称,component是固定名称

      图片文件   

      上一节当中讲到过在WP当中,ApplicationBar与SilverLight的层次是完全分开的,那么这就要分两种情况了:

      ApplicationBar的图标文件应设置为Content方式,SilverLight层次当中应设置为Resource的方式。

      多媒体文件

      比如音乐,视频文件,这些资源文件应设置为Content方式。

      原因是什么呢?微软给出的解释是:

      Set Build Action to Content for Media

      Media processing on Windows Phone is optimized to use files and network streams, but not in-memory streams. This means that any media files included in the application, such as sound effects, should have their Build Action set to Content and not Resource.

      详细请参考Performance Considerations in Applications for Windows Phone

 

posted @ 2011-10-31 11:47  Daniel.Zhao  阅读(1311)  评论(0编辑  收藏  举报