Ookii-dialogs-wpf: System.ArgumentNullException في ComCtlv6ActivationContext

تم إنشاؤها على ١ ديسمبر ٢٠٢٠  ·  4تعليقات  ·  مصدر: ookii-dialogs/ookii-dialogs-wpf

أواجه الخطأ التالي عند التشغيل كحزمة ملف واحد مضمنة ذاتيًا .NET 5:

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)

الكود المسؤول يبدو كما يلي:

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

يبدو أن ComCtlv6ActivationContext.EnsureActivateContextCreated لا تتوقع أن يكون assemblyLoc سلسلة فارغة ، والتي يمكن أن تكون عند تشغيلها كحزمة ملف فردي قائمة بذاتها (انظر ملاحظات التجميع. مستندات الموقع ):
https://github.com/augustoproiete/ookii-dialogs-wpf/blob/2a64fea6c5c3d32f468814d205a337ce78afedab/src/Ookii.Dialogs.Wpf/ComCtlv6ActivationContext.cs#L70 -L79

ترجع الطريقة Path.GetDirectoryName فارغة عند تمرير سلسلة فارغة (على الرغم من أن المستندات الخاصة بها تقترح ArgumentException بدلاً من ذلك).

أعتقد أن هذا لن يمثل مشكلة بعد الآن عند تنفيذ المشكلة رقم 31 ، ولكن أعتقد أنه من الجدير بالذكر لأنه لا يبدو أن هناك حلًا سهلًا.

bug

ال 4 كومينتر

شكرًا للإبلاغ عن هذاmgpreston!

أنت على صواب: لن تكون هذه مشكلة عندما يتم تنفيذ رقم 31 ، ولكن حقيقة أن تطبيقات .NET 5 ذات الملف الواحد والمكتفية ذاتيًا تتعطل تثير أولوية تنفيذها.

سأصدر الليلة إصدارًا يصلح هذه المشكلة.

mgpreston لقد قمت للتو بنشر Ookii.Dialogs.Wpf v3.1.0 على nuget.org الذي

augustoproiete شكرا لإصلاح هذا بسرعة. يسعدني أن أبلغكم أنه يعمل بشكل مثالي الآن!

mgpreston على الرحب والسعة! شكرا لتأكيد أنه يعمل!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات