今天调试Silverlight程序,把ClientBin文件夹下的.xap文件删除后遇到这样一个问题:错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置。在网上查了一下,很多解决方法都是说配置IIS的MIME类型,例如:http://silverlightchina.net/html/tips/2012/0922/19072.html。但是打开IIS配置发现,这些配置都没有问题,最后还是在微软论坛上找到了解决方法。
第一步:检查项目的Web目录里的ClientBin下有没有生成 .xap 文件(不要小视,某些情况下如果我们不手动Ctrl+Shift+B编译下Slu,VS在发布时不会编译哦)
第二步:检查一下Silverlight的项目的承载网站的source源是不是配置正确,比如testpage.html里的<param name="source" value="ClientBin/Tutorial_1.xap"/>的source的value值要对应生成的文件(嘿嘿,我有点谨小慎微了)
第三步:检查MIME设置(这一点,相信你哦,所以就PASS吧)
就是通过这三步中的第二步解决了问题。
================================================================================================
我是因为无法调试而删除了.xap文件时出现的问题。后来不知道看了什么文章后不小心把下面的配置特定文件夹配置为“是”,这样vs编译时就在ClientBin目录下创建了Debug目录并把.xap放在其下面,但.aspx文件还是到ClientBin目录下找,当然找不到了,如果把.aspx中的路径改ClientBin/Debug/Hello.xap,则silverlight代码中的相对路径又会发生变化(多出个ClientBin/),故只要把“配置特定文件夹配置”为“否”即可。