我的Silverlight项目使用dane.xml
文件,该文件位于ProjectName.Web/Client.Bin/dane.xml
private void ReadXML()
{
WebClient client1 = new WebClient();
client1.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client1_DownloadStringCompleted);
link = new Uri("dane.xml", UriKind.Relative);
client1.DownloadStringAsync(filePath);
}
void client1_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.ToString() + "\n\nURI=" + link.ToString());
return;
}
// (...)
}
当我从Visual Studio(调试或启动而不调试)运行它时,一切正常。但是现在我想在VS之外启动它,所以我运行ProjectName.Web/ProjectNameTestPage.html
- 并且加载dane.xml
文件失败,并且MessageBox出现以下错误:
加载文件dane.xml时出错
System.Net.WebException:WebClient请求期间发生异常 ---> System.NotSupportedException:无法识别URI前缀 在System.Net.WebRequest.Create(Uri requestUri)中 在System.Net.WebClient.GetWebRequest(Uri地址)中 在System.Net.WebClient.DownloadStringAsync(Uri地址,对象userToken)中 (...)
URI = dane.xml
我该怎么做才能解决这个问题?
我已经尝试在解决方案资源管理器中将dane.xml
设置为资源并创建new Uri("ProjectName;component/dane.xml", UriKind.Relative);
,但在Visual Studio上运行时会失败。
答案 0 :(得分:0)
问题解决了。我已将我的网站放在apache服务器上(复制ProjectName.web
文件夹并运行ProjectNameTestPage.html
),现在它可以正常工作。