.NET MAUI で FileSavePicker.PickSaveFileAsync を実行すると、アプリケーションがクラッシュします。

橘髙 成一 20 評価のポイント
2024-05-02T00:59:12.6733333+00:00

.NET MAUI で次のコードを実行すると、アプリケーションがクラッシュします。

   public async Task<bool> ShowAsync(string fileName, byte[] bytes, SaveFilePickerOptions options)
   {
       ArgumentNullException.ThrowIfNull(options);
       FileSavePicker fileSavePicker = new()
       {
           SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
           SuggestedFileName = fileName,
       };
       foreach(var item in options.WindowsFileTypes)
       {
           fileSavePicker.FileTypeChoices.Add(item.Key, item.Value);
       }
       if(MauiWinUIApplication.Current.Application.Windows[0].Handler.PlatformView is MauiWinUIWindow window)
       {
           InitializeWithWindow.Initialize(fileSavePicker, window.WindowHandle);
       }
       StorageFile file = await fileSavePicker.PickSaveFileAsync();
       if(file == null)
       {
           return false;
       }
       using(FileStream fileStream = new(file.Path, FileMode.OpenOrCreate))
       {
           fileStream.Write(bytes, 0, bytes.Length);
       }
       return true;
   }

PickSaveFileAsync を実行すると、デバッグ モードで次のダイアログが表示されます。どうすればいいか教えてください。User's image

.NET
.NET
.NET ソフトウェア フレームワークに基づく Microsoft テクノロジ。
32 件の質問
{count} 件の投票

承認済みの回答
  1. Wenying Lu-MSFT 1,675 評価のポイント Microsoft ベンダー
    2024-05-02T06:15:48.0933333+00:00

    橘髙 成一さん、こんにちは。

    Microsoft Q&A フォーラムにご投稿くださいましてありがとうございます。

    MAUIはWindowsでWinUI3ベースのフレームワークで実行され、FileSavePickerはUWPフレームワークによって提供されるAPIです。したがって、互換性のためにこの問題が発生したようです。

    MAUI は FilePicker と FileSaver を公式に提供しています、これらのネイティブ API を使用してニーズを満たすことができます。

    次の文書を参考にしてください。

    どうぞよろしくお願いいたします。


    役に立った回答には「回答を受け入れる」と「いいね!」を押してください。さらに質問がある場合は、「コメント」を追加してください。注意:Q&Aからメール通知を受け取りたい場合には、ドキュメントの手順に基づき、メール通知を有効にしてください。


2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. とっちゃん 400 評価のポイント MVP
    2024-05-02T02:50:24.81+00:00

    例外がでたからデバッガをアタッチするのではなく、最初からデバッグ実行すれば、エラー発生個所でデバッガが止まると思います(デバッガ自身がハンドルされていない例外を検出してそこで止まる)。


  2. 橘髙 成一 20 評価のポイント
    2024-05-09T05:41:39.9666667+00:00

    サポートチケットの作成を検討しますので

    この投稿はクローズいたします。

    ご回答いただきありがとうございました。

    0 件のコメント コメントはありません