1

次の出力をDebug.Windowに取得し続けます。

Der Thread 0xd88 hat mit Code 0 (0x0) geendet.
Der Thread 0x6fc hat mit Code 0 (0x0) geendet.
Der Thread 0xce8 hat mit Code 0 (0x0) geendet.
Der Thread 0x68c hat mit Code 0 (0x0) geendet.

私のコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
using System.Threading.Tasks;
using Windows.Storage;
using Windows.UI.Xaml.Controls;

namespace WindowsIOTControlCenter.ImageRotation
{
class ImageRotation
{

    Timer _time;
    IReadOnlyList<StorageFile> pictures;

    public ImageRotation(Grid targetGrid)
    {
       pictures = scanImagesFolder().Result;
    }

    private async Task<IReadOnlyList<StorageFile>> scanImagesFolder()
    {
        try
        {
            StorageFolder appFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("ImageRotation\\BackgroundImages");

            IReadOnlyList<StorageFile> filesInFolder = await appFolder.GetFilesAsync();

            foreach (StorageFile file in filesInFolder)
                Debug.WriteLine(file.Name + ", " + file.DateCreated);
            return null;
        }
        catch(Exception ex)
        {
            Debug.WriteLine(ex.Message);
            return null;
        }
    }

}
}

元のコードには、この例と同じ問題があったため、inet の非常に基本的な例を使用しました。

基本的に、指定されたディレクトリにあるファイルのリストが必要です。

ステップバイステップのデバッグでは、ディレクトリを appFolder に割り当てることに問題はありません。

しかし、それになると

IReadOnlyList<StorageFile> filesInFolder = await appFolder.GetFilesAsync();

上記の出力は段階的にドロップアウトします。明らかに、キャッチする例外はありません。それ以外の場合は、catch(Exception ex) を続行します。

私が間違っていることを知っている人はいますか、それとも私の問題に対する別の解決策を指摘できますか?

ヒントは高く評価されます。

PS: 私のお粗末な英語で申し訳ありません。

4

2 に答える 2