以下のコードは、無効な操作例外をスローしますが、デバッガーがデタッチされている場合のみです。コードは 7.1 を対象としており、ユーザーから問題が報告されていることがあります。Windows Phone 8 デバイスでこの問題を再現できるのはこれが初めてですが、デバッガーをデタッチした場合のみです。デバッガーが接続されている場合、コードは完全に正常に実行されます。この問題は一貫した再現ではありません。分析では、この問題に直面しているユーザーの割合はごくわずかでした。ここで何が起こっているか分かりますか?
PictureAlbum localRoll = media.GetCameraRoll();
foreach (Picture pic in localRoll.Pictures) // exception here
{
}
public PictureAlbum GetCameraRoll()
{
// Work around for known bug in the media framework. Hits the static constructors
// so the user does not need to go to the picture hub first.
MediaPlayer.Queue.ToString();
MediaLibrary ml = null;
PictureAlbum cameraRoll = null;
foreach (MediaSource source in MediaSource.GetAvailableMediaSources())
{
if (source.MediaSourceType == MediaSourceType.LocalDevice)
{
ml = new MediaLibrary(source);
PictureAlbumCollection allAlbums = ml.RootPictureAlbum.Albums;
foreach (PictureAlbum album in allAlbums)
{
if (album.Name == "Camera Roll")
{
cameraRoll = album;
return cameraRoll;
}
}
}
}
return null;
}
System.InvalidOperationException: 予期しないエラーが発生しました。Microsoft.Xna.Framework.Media.MediaLibraryEnumerator'1.System.Collection.Ienumerator'1.get_Item (Int32 インデックス) で