Ookii-dialogs-wpf: System.ArgumentNullException di ComCtlv6ActivationContext

Dibuat pada 1 Des 2020  ·  4Komentar  ·  Sumber: ookii-dialogs/ookii-dialogs-wpf

Saya mengalami kesalahan berikut saat menjalankan sebagai bundel file tunggal .NET 5 mandiri:

System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
at System.IO.Path.Combine(String path1, String path2)
at Ookii.Dialogs.Wpf.ComCtlv6ActivationContext.EnsureActivateContextCreated()
at Ookii.Dialogs.Wpf.ComCtlv6ActivationContext..ctor(Boolean enable)
at Ookii.Dialogs.Wpf.TaskDialog.ShowDialog(IntPtr owner)
at Ookii.Dialogs.Wpf.TaskDialog.ShowDialog(Window owner)

Kode yang bertanggung jawab hanya terlihat seperti ini:

var dialog = new VistaFolderBrowserDialog();
dialog.ShowDialog(Application.Current.MainWindow);

Sepertinya metode ComCtlv6ActivationContext.EnsureActivateContextCreated tidak mengharapkan assemblyLoc menjadi string kosong, yang bisa jadi saat dijalankan sebagai bundel file tunggal mandiri (lihat Keterangan dari Assembly.Location docs ):
https://github.com/augustoproiete/ookii-dialogs-wpf/blob/2a64fea6c5c3d32f468814d205a337ce78afedab/src/Ookii.Dialogs.Wpf/ComCtlv6ActivationContext.cs#L70 -L79

Metode Path.GetDirectoryName mengembalikan null ketika melewatkan string kosong (meskipun dokumen untuk itu menyarankan ArgumentException sebagai gantinya).

Saya kira ini tidak akan lagi menjadi masalah ketika masalah #31 diimplementasikan, tetapi saya pikir itu layak disebutkan karena sepertinya tidak ada solusi yang mudah.

bug

Semua 4 komentar

Terima kasih telah melaporkan @mgpreston ini!

Anda benar: Ini tidak akan menjadi masalah ketika #31 diterapkan, tetapi fakta bahwa aplikasi file tunggal .NET 5 mandiri sedang rusak meningkatkan prioritas untuk mengimplementasikannya.

Saya akan mengeluarkan rilis malam ini yang memperbaiki masalah ini.

@mgpreston Saya baru saja menerbitkan Ookii.Dialogs.Wpf v3.1.0 di nuget.org yang memperbaiki ini

@augustoproiete Terima kasih telah memperbaiki ini dengan sangat cepat. Saya senang untuk melaporkan bahwa itu bekerja dengan sempurna sekarang!

@mgpreston Sama- sama! Terima kasih telah mengonfirmasi bahwa ini berfungsi!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat