我创建了一个小型Silverlight 4.0 / RIA Services应用程序并对其进行了测试。我在家里的机器上开发了应用程序,需要将它移动到工作中的生产域。我通过将其推送到源存储库然后将其克隆到工作中的开发机器来完成此操作。它在两个位置都没有错误地构建。
当我尝试在新位置进行调试时,会出现问题。在域上下文的第一个'Load()'方法中,我收到以下错误:
The provided URI scheme 'file' is invalid expected 'http'
我得到调试器试图使用基于文件的URI而不是HTTP URI运行。但为什么?我该如何解决?
搜索SO返回了一些有关无效URI方案的类似错误,但是没有这些错误帮助我解决了这个特定的问题。
谢谢, 吉姆
答案 0 :(得分:28)
确保您的启动项目是Web项目,而不是Silverlight项目本身。
答案 1 :(得分:1)
可能发生的事情是Silverlight客户端应用程序正在尝试使用“file://”协议与服务器端RIA Services Web服务进行通信。
您是否直接从服务器的文件系统而不是通过“http://”URL启动了Silverlight XAP文件?Silverlight正在尝试使用与获取其XAP文件相同的协议。
出于同样的原因,从Visual Studio启动应用程序时,将Web项目设置为启动项目而不是Silverlight(客户端)项目。
答案 2 :(得分:1)
如果您正在运行OOB(Out Of Browser)并想要调试,那么您需要将Silverlight客户端项目设置为启动项目,同样在服务器项目中,右键单击“* TestPage.html”和'设为起始页'。然后,如果你收到错误......
The provided URI scheme 'file' is invalid expected 'http'
然后打开Silverlight客户端的属性页面和UNCHECK“启用从浏览器中运行应用程序”,单击“保存”,然后重新检查设置,它应该可以正常工作。 看到... http://blogs.msdn.com/b/deepm/archive/2010/07/16/debugging-an-oob-silverlight-business-application.aspx
答案 3 :(得分:0)
我很确定你应该引用服务器端文件,而不是本地文件。此外,大多数Silverlight应用程序都不允许访问本地文件。