在vs2013 WP 8.1 Silverlight应用程序中访问文件属性时出现accessviolationexcep
本文关键字:文件属性 访问 accessviolationexcep 应用程序 WP vs2013 Silverlight | 更新日期: 2023-09-27 18:16:52
我试图从音乐文件中获取属性,如艺术家,专辑显示在我的应用程序中,但是当它到达属性属性时,调试器抛出异常,不能发布图像,所以消息是:
An unhandled exception of type 'System.AccessViolationException' occurred in UberPlayer.ni.DLL
Additional information: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
我认为,因为它是在一个foreach上,它使用了大量的内存,会中断,但隔离代码如下:
IReadOnlyList<IStorageItemProperties> itemsListProperties = KnownFolders.MusicLibrary.GetFilesAsync().GetAwaiter().GetResult();
var test = itemsListProperties.First().Properties;
仍然得到异常消息,应用程序崩溃。
我是新的WP编程,但我认为它不应该是一个代码错误。有人知道吗?
我也在我的手机上运行调试,因为我的笔记本电脑无法模拟WP8.1
我知道发生了什么,
看起来像istorageitemproperties类型不能从一个项目中检索属性,有趣的是,这是他的名字,或者它可能被废弃了。
它与StorageFile类型一起工作,还添加了一些等待,也许我走得太快了?: p
IAsyncOperation<IReadOnlyList<StorageFile>> async = KnownFolders.MusicLibrary.GetFilesAsync();
var itemsList = await async;
foreach (var item in itemsList)
{
var itemProp = item.Properties;
var propMusic = await itemProp.GetMusicPropertiesAsync();
Music m1 = new Music(propMusic.Title, propMusic.Artist, propMusic.Album, propMusic.Genre.ToString(), propMusic.TrackNumber.ToString(), propMusic.Duration, item.Path);
_listMusic.Add(m1);
}
return _listMusic;
感谢所有参与讨论的人。