Silverlight项目调试有时候会比较麻烦,主要是因为在Silverlight项目里面有一些操作需要和网络交互,典型的操作比如下载图片、视频、XML等。而Silverlight默认打开文件的协议使用的是文件协议,而不是http,因此每次在调试时需要假设一个Web Server,例如在我前面那篇讲在Silverlight中使用中文方法。
如果Silverlight项目能够像Web项目一样,F5或者Ctrl+F5一下就可以run了多好。很方便的是在VS 2008中你可以很简单地就能实现了。
1. 创建一个Silverlight项目。在创建项目的同时,VS 2008也同时创建了一个Solution。
2. 在Solution上单击右键,选择 Add -> New Web Site。建立一个新的WebSite,这样这个Solution下面就有两个项目了。
3. 在Web项目的根目录上单击右键,选择 Add Silverlight Link,选择你刚才建立的Silverlight项目的名字就行了(默认选中)(在弹出的对话框中要选择“确认”哦)。此时,目录下是不是出现了一个Page.xaml文件?编译一下,此时会在Web项目下出现一个ClientBin目录,里面会有一个dll文件和一个pdb文件,就是Silverlight项目编译后的东东啦!当然了,这个时候编译运行出来的结果还不是http协议的,继续进行第四步。
4. 在Web项目上单击右键,选择 Set as Startup Project。
5. 然后把TestPage.html及其JavaScript文件、还有Silverlight.js文件也一并拷贝到Web项目的目录下(也可以不用复制,而通过Add Existing Item的方式添加到Web项目中,这样更方便一些,这样就不用两头修改JavaScript文件了~)。然后再把TestPage.html设为起始页(在TestPage.html上单击右键,选择 Set As Start Page)。
6. OK!编译运行一下,看看浏览器里是不是以“http://localhost”开头的路径?
当你修改Silverlight项目中的Page.xaml时,Web项目中的XAML文件也会跟着改变!