1

ファイルへの正しいパスを返すメソッドがあります

    StorageFile newFile = null;
        try
        {
            string pth = Path.Combine(ApplicationData.Current.LocalFolder.Path, dbPath);
            newFile = StorageFile.GetFileFromPathAsync(pth).GetResults(); ;
        }
        catch (FileNotFoundException) { newFile = null; }
        if (newFile == null)
        {
            string pth = Package.Current.InstalledLocation.Path + @"\Scriptures\" + dbPath;
            StorageFile oldFile = StorageFile.GetFileFromPathAsync(pth).GetResults();
            newFile = oldFile.CopyAsync(ApplicationData.Current.LocalFolder, dbPath, NameCollisionOption.FailIfExists).GetResults();
        }
        if (newFile == null) { throw new FileNotFoundException("Database File not Found"); }
        return newFile.Path;

ただし、到達するとエラーが発生することがあります

    StorageFile.GetFileFromPathAsync(pth).GetResults()

スローされるエラーは次のとおりです。

   StorageFile newFile = null;
        try
        {
            string pth = Path.Combine(ApplicationData.Current.LocalFolder.Path, dbPath);
            newFile = StorageFile.GetFileFromPathAsync(pth).GetResults(); ;
        }
        catch (FileNotFoundException) { newFile = null; }
        if (newFile == null)
        {
            string pth = Package.Current.InstalledLocation.Path + @"\Scriptures\" + dbPath;
            StorageFile oldFile = StorageFile.GetFileFromPathAsync(pth).GetResults();
            newFile = oldFile.CopyAsync(ApplicationData.Current.LocalFolder, dbPath, NameCollisionOption.FailIfExists).GetResults();
        }
        if (newFile == null) { throw new FileNotFoundException("Database File not Found"); }
        return newFile.Path;

私は何を間違っていますか?私はC#とスレッド化が初めてで、このエラーは私を殺しています。助けてください!

4

1 に答える 1