我正在使用Silverlight 4 OOB&提升信任。
我需要获取特定目录中的所有文件名&填充对象List(Of String)
编译器在.Getfiles()方法上抛出错误“Method not found”。
Dim files() As String = System.IO.Directory.Getfiles(Path) 'this line is failing..
帮助!
答案 0 :(得分:3)
GetFiles
被标记为“安全严重”,因此无法在您的代码中使用。
您需要使用EnumerateFiles
方法。 GetFiles
是sooo .NET 1.0,EnumerateFiles
非常流畅,即使在完整的框架中,如果可以的话,也要避免使用旧的Array返回API。
答案 1 :(得分:0)
据我所知,您无法使用Silverlight OOB直接访问整个硬盘。
从Silverlight网站引用:
在受信任的环境中运行时,您只能访问其中的文件 用户文件夹,特别是MyDocuments,MyMusic,MyPictures和 MyVideos文件夹。虽然从安全角度来说这是有道理的 看来,这是有限的。您希望允许用户拖动其数据 从任何地方。现在,如果您尝试删除文件 从上述以外的位置,Silverlight将抛出一个 安全错误。
有关如何使用Silverlight OOB处理硬盘的详细信息,请参阅此链接: http://www.silverlight.net/learn/overview/out-of-browser-applications/advanced-silverlight-out-of-browser-introduction#Exercise3