Xamarin.forms: System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'

تم إنشاؤها على ٢٠ مايو ٢٠٢٠  ·  73تعليقات  ·  مصدر: xamarin/Xamarin.Forms

_تم نقل هذه المشكلة من تذكرة على مجتمع المطورين ._


بعد الترقية إلى Xamarin Forms 4.6.0726 ، بدأت في الحصول على تعطل متكرر متقطع على Android. عند التحقيق ، وجد أن هذا يأتي من برنامج LabelRenderer الخاص بـ Xamarin

05-17 07: 27: 06.656 شرق / أحادي (5133):
05-17 07: 27: 06.656 E / أحادية (5133): استثناء غير معالج:
05-17 07: 27: 06.656 E / mono (5133): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
05-17 07: 27: 06.656 E / mono (5133): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
05-17 07: 27: 06.656 E / أحادية (5133): في (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / أحادي (5133): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / mono-rt (5133): [خطأ] FATAL UNANDLED EXCEPTION: System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
05-17 07: 27: 06.656 E / mono-rt (5133): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
05-17 07: 27: 06.656 E / mono-rt (5133): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.656 E / mono-rt (5133): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.29 (intptr ، intptr)
05-17 07: 27: 06.698 D / (5133): HostConnection :: get () إنشاء اتصال مضيف جديد 0xbd1b1240 ، Tid 5133

لست متأكدا من أين يأتي. لدي ListView كعرض رئيسي وأتساءل عن خطأ ما في الإصدار الأحدث من ListView مما تسبب في حدوث تسرب وتعطل.

ليس لدي عارض تسمية مخصص لذلك يجب أن يأتي من عارض النظام الأساسي Xamarin
الرجاء الاقتراح.


التعليقات الأصلية

نظام ملاحظات Visual Studio في 5/17/2020 ، 11:54 مساءً:

لقد وجهنا ملاحظاتك إلى الفريق الهندسي المناسب لمزيد من التقييم. سيقوم الفريق بمراجعة التعليقات وإعلامك بالخطوات التالية.


الحلول الأصلية

(لا توجد حلول)

4.4.0 collectionview fastrenderers label listview 5 feedback-ticket high regression in-progress high impact Android unverified bug

التعليق الأكثر فائدة

إنه لأمر مثير للسخرية تمامًا كيف تتوقع Microsoft استخدام هذا النظام الأساسي لإنشاء أي تطبيق Enterprise به عيب أساسي لا يزال مفتوحًا بعد العديد من الشكاوى على مدار هذه الفترة الطويلة!

لم نتمكن من إصدار تحديث لإصدار Android الخاص بنا من التطبيق خلال الأشهر الأربعة الماضية وكل ما حصلنا عليه من هذا الموضوع هو أنه لا يمكنهم إعادة إنتاج هذا ، في حين أن بقية العالم يستطيعون ذلك بسهولة !!!

يجب أن تتوقف Microsoft عن فعل أي شيء وكل شيء قبل إصلاح هذا الخطأ. إن إصدار أي إصدار أحدث من Xamarin لا طائل من ورائه !!!

ال 73 كومينتر

ذات الصلة # 8262

الحل البديل- https://github.com/xamarin/Xamarin.Forms/issues/8262#issuecomment -550022425

يعد إنشاء عارض مخصص لـ ListView أو خلاياه أحد الأساليب لتقليل تأثير حسابات التخطيط على أداء التمرير.
أفضل ممارسات ListView- https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/listview/performance

حاول تنفيذ INotifyPropertyChanged (System.ComponentModel) للفئة التي تحتوي على ListView.
قم بتعيين المعالج لـ public event PropertyChangedEventHandler PropertyChanged النحو التالي للموصل المعين للخاصية المعدلة-

var args = new PropertyChangedEventArgs(nameOf(typeOf(string)));
PropertyChanged?.Invoke(this, args);

ذات الصلة # 10159

هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!

أواجه أيضًا نفس المشكلة التي تعطل تطبيقي

تتبع المكدس:

Cannot access a disposed object. Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
Java.Interop.JniPeerMembers.AssertSelf(Java.Interop.IJavaPeerable self) in <26521a5118b44c858c385715922b9d5d>
Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod(System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) in <26521a5118b44c858c385715922b9d5d>
Android.Views.View.get_Context() in <4ccdb3137d974856b786e1aeebbfbab6>
Xamarin.Forms.Platform.Android.Platform.GetNativeSize(Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341
Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize(Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:930
Xamarin.Forms.VisualElement.OnSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:800
Xamarin.Forms.VisualElement.OnMeasure(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
Xamarin.Forms.VisualElement.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
Xamarin.Forms.VisualElement.Measure(System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
Xamarin.Forms.StackLayout.CalculateNaiveLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163
Xamarin.Forms.StackLayout.CalculateLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
Xamarin.Forms.StackLayout.OnSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80
Xamarin.Forms.VisualElement.OnMeasure(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783
Xamarin.Forms.VisualElement.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659
Xamarin.Forms.Layout.GetSizeRequest(System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132
Xamarin.Forms.VisualElement.Measure(System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717
Xamarin.Forms.StackLayout.CalculateNaiveLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:198
Xamarin.Forms.StackLayout.CalculateLayout(Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123
Xamarin.Forms.StackLayout.LayoutChildren(System.Double x, System.Double y, System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:58
Xamarin.Forms.Layout.UpdateChildrenLayout() in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:266
Xamarin.Forms.Layout.OnSizeAllocated(System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:224
Xamarin.Forms.VisualElement.SizeAllocated(System.Double width, System.Double height) in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:805
Xamarin.Forms.Layout.ResolveLayoutChanges() in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:392
Java.Lang.Thread+RunnableImplementor.Run() in <4ccdb3137d974856b786e1aeebbfbab6>
Java.Lang.IRunnableInvoker.n_Run(System.IntPtr jnienv, System.IntPtr native__this) in <4ccdb3137d974856b786e1aeebbfbab6>
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.48(intptr,intptr)

أدى الرجوع إلى إصدار أقدم من XF إلى الإصدار 4.4.0.991864 إلى حل المشكلة في تطبيق الإنتاج لدينا. الاعتمادات: https://github.com/xamarin/Xamarin.Forms/issues/10159#issuecomment -633838442

هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!

samhouts لا يمكنني نشر الكود المصدري ، إنه تطبيق تجاري ... ويمكنه العمل فقط مع البيانات.

هل يمكنك من فضلك إرفاق مشروع صغير يوضح هذه المشكلة؟ شكر!

samhouts للأسف لا يمكنني نشر الكود لأسباب تعاقدية

مرحبًا ، ما عليك سوى التحقق مما إذا كان هناك أي جداول زمنية بحلول موعد توفر الإصلاح. لدينا إصدار رئيسي يتم طرحه وهو الآن معلق بسبب هذه المشكلة بعد أن قمنا بترقية إطار عمل Xamarin الخاص بنا. في هذه المرحلة لا يمكننا العودة إلى الإطار القديم أيضًا.

الرجاء المساعدة.

من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة . إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!

من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة . إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!

أفهم ، أحاول التكاثر في مشروع اختباري.

من الصعب جدًا حل هذه المشكلات دون إعادة إنتاجها. قد تكون قادرًا على حلها من خلال تمكين أجهزة العرض القديمة. إذا كنت قادرًا على نشر مشروع إعادة إنتاج ، فقد نتمكن من حل المشكلة بالكامل. شكرا لك!

samhouts ، لقد حاولت تمكين

حاولت تنظيف الحل ، إغلاق / فتح VS ولكن الخطأ لا يزال قائما.

الرجاء الاقتراح. أي مساعدة في هذا الصدد ستكون مفيدة للغاية!

مرحبا،

هل تحاول المتابعة لمعرفة ما إذا كانت هناك أية تحديثات حتى الآن أو متى تتوقع تحديثات على هذا؟

نواجه أيضًا المشكلة ، فمن الصعب حقًا إعادة إنتاج التطبيق ، ويتعطل التطبيق عشوائيًا ،
بدأت المشكلة في الحدوث بعد الترقية من نموذج Xamarin 4.4 إلى 4.6.0726.

أحتاج إلى نقل هذا إلى المورد المحظور حتى نتمكن من التكاثر.

samhouts يبدو هذا مشابهًا جدًا لـ # 10159 وهي مشكلة خطيرة للغاية. هل يمكنك إلقاء نظرة عليه من فضلك؟ هناك تعليق يقدم عينة repro.

لقد قمت بإنشاء مستودع نموذج حيث يمكنك رؤية هذا الاستثناء: https://github.com/nacompllo/CannotDisposeLabelRenderer

لقد نشرت أيضًا مقطع فيديو يوضح كيفية إعادة إنتاج الخطأ:
https://www.youtube.com/watch؟v=yDhlI4BG8D8&feature=youtu.be

وصف

عندما أقوم بإضافة ارتباط إلى خاصية FontSize الخاصة بالملصق داخل CollectionView وأجري تناوبًا مع الجهاز (في كل تغيير دوران ، أقوم بتحديث FontSize لملصقات CollectionView).

System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer". "

خطوات التكاثر

أضف عناصر إلى مصدر CollectionView أثناء إجراء عمليات التناوب مع الجهاز.

معلومات اساسية

  • لقد جربته فقط على Android لأنني لا أمتلك أجهزة Apple.
  • Xamarin.Forms 4.7.0.1239
  • أندرويد 10

samhouts بعد إجراء بعض الاختبارات على جهازي باستخدام مستودع Xamarin.Forms ، اتبعت تتبع الخطأ ويحدث بالضبط في هذا السطر من فئة Platform.cs: https://github.com/xamarin/Xamarin.Forms /blob/29b92aa1fc2b9d834bb3b95cc224e07d0cc3e9b4/Xamarin.Forms.Platform.Android/Platform.cs#L1341

لقد قمت بلف الطريقة في محاولة للحصول على StackTrace وهذه هي النتيجة:
في Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] في: 0
في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * parameters) [0x00000] في: 0
في Android.Views.View.get_Context () [0x00000] في /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Android عدد المشاهدات: 5598
في Xamarin.Forms.Platform.Android.Platform.GetNativeSize (عرض Xamarin.Forms.VisualElement ، System.Double widthConstraint ، System.Double heightConstraint) [0x0001c] في C: Users \ SourceReposXamarin.FormsXamarin.Forms.Platform.Android. 1343

أي شخص لديه الحل لهذا ؟؟

أواجه نفس الخطأ في مشروعي. لدي إصدار Xamarin.Forms 4.6.0.726.
تتبع المكدس:

  at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <dac4c5a4b77f4e61a5e6d9d3050dfb9f>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <dac4c5a4b77f4e61a5e6d9d3050dfb9f>:0 
  at Android.Views.View.get_Context () [0x00000] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Android.Views.View.cs:5598 
  at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341 
  at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:930 
  at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00025] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:800 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717 
  at Xamarin.Forms.Grid.CalculateAutoCells (System.Double width, System.Double height) [0x000e5] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:133 
  at Xamarin.Forms.Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize) [0x0000c] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:485 
  at Xamarin.Forms.Grid.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002a] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:60 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717 
  at Xamarin.Forms.TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0003c] in D:\a\1\s\Xamarin.Forms.Core\TemplatedView.cs:43 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717 
  at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163 
  at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123 
  at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717 
  at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163 
  at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123 
  at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:783 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:659 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:132 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:717 
  at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163 
  at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123 
  at Xamarin.Forms.StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x0004e] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:58 
  at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:266 
  at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:224 
  at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:805 
  at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:392 
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/Java.Lang/Thread.cs:36 
  at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in /Users/builder/azdo/_work/204/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-29/mcw/Java.Lang.IRunnable.cs:81 
  at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.1(intptr,intptr)

تظهر نافذة إخراج التطبيق هذه المخرجات:

[أحادي] استثناء لم تتم معالجته:
[أحادي] System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
[mono] اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
[أحادي] في (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
[mono] في (برنامج تضمين أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)
[mono-rt] [خطأ] FATAL UNANDLED EXCEPTION: System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
[mono-rt] اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer".
[mono-rt] في (طريقة التحويل الديناميكية) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)

يمكنني إعادة إنتاج هذا في الريبو الخاص بنا ، لقد جربت شيئًا مثل:

if (visualElementRenderer is IDisposedState disposableRenderer && disposableRenderer.IsDisposed)
    return new SizeRequest();

لكن هذا لا يعمل نفس المشكلة.

أحصل على شيء مشابه في 4.7.0.1179 عند الانتقال للخلف من صفحة تحتوي على CollectionView إلى صفحة أخرى تحتوي على CollectionView:

LayoutPresenter.OnMeasure (System.Double widthConstraint, System.Double heightConstraint)

System.ObjectDisposedException: Cannot access a disposed object. Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.

JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) View.get_Context () Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) LayoutPresenter.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) Grid.MeasuredStarredColumns (System.Double widthConstraint, System.Double heightConstraint) Grid.MeasureAndContractStarredColumns (System.Double width, System.Double height, System.Double totalStarsWidth) Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize) Grid.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) StackLayout.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) Layout.UpdateChildrenLayout () Layout.OnSizeAllocated (System.Double width, System.Double height) VisualElement.SizeAllocated (System.Double width, System.Double height) Layout.ResolveLayoutChanges () Thread+RunnableImplementor.Run () IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.59(intptr,intptr)

فقط بعض النتائج حول هذا samhouts :
لقد رأينا أيضًا هذا السلوك باستخدام CollectionView. بعد قضاء بعض الوقت في ذلك ، يبدو أنه قد يكون بسبب الأحداث التالية.

ملاحظة: هذه نظرية.

  1. يتم استدعاء OnViewRecycled على ItemsViewAdapter مع TemplatedItemViewHolder.
  2. تم استدعاء TemplatedItemViewHolder.Recycle ، تتم إزالة Xamarin.Forms.View المرتبط بـ TemplatedItemViewHolder من ItemsView.
  3. يتم دفع TemplatedItemViewHolder إلى RecyclerView.RecycledViewPool.
  4. شيء ما يتخلص من العرض / الأطفال في هذه الأثناء.
  5. يتم إعادة ربط ViewHolder وعرضه ، وتحدث مشغلات التخطيط في طريقة العرض التي تم التخلص منها وتعطل التطبيق.

لقد عملت حول هذا من خلال تجاوز ItemsViewAdapter.OnViewRecycled والعودة إلى TemplatedItemViewHolder. ثم أضفت رمزًا لإزالة TemplatedItemViewHolder.View من ItemsView في OnBindViewHolder ، قبل الاتصال بالقاعدة.

حتى الآن لم يتمكن أي ممن حاولوا إعادة إظهار المشكلة بعد الآن

joshuangfraedom ، هل أنت قادر على مشاركة نموذج الكود الخاص بك لتغيير المحول

شيء من هذا القبيل DuncWatts

... 
namespace and renderer export
...
class MyCollectionViewRenderer : CollectionViewRenderer
{
        protected override GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource> CreateAdapter()
        {
            return new MyCollectionViewAdapter(ItemsView);
        }

        private class MyCollectionViewAdapter : ExtendedCollectionViewAdapter
        {
            ... base constructor call

            /// <inheritdoc />
            public override void OnViewRecycled(JObject holder)
            {
                if (holder is TemplatedItemViewHolder)
                {
                    return;
                }

                base.OnViewRecycled(holder);
            }

            /// <inheritdoc />
            public override void OnBindViewHolder(ViewHolder holder, int position)
            {
                if (holder is TemplatedItemViewHolder templatedItemViewHolder)
                {
                    ItemsView.RemoveLogicalChild(templatedItemViewHolder.View);
                }

                base.OnBindViewHolder(holder, position);
            }
        }
}

يبدو أن قراءة SelectableItemsViewAdapter ستؤدي إلى تسرب الذاكرة. نحتاج حقًا إلى حل هذا على مستوى النماذج للوصول إلى حل مناسب (يتم استيعاب كل شيء في تلك الفئة).

هذا أكثر قوة وأعتقد أنه يتعامل مع جميع الأشياء القابلة للتحديد وفقًا لـ

ولكن يبدو أن الاحتفاظ بالمرجع في ItemsView يمنع تنظيفه جيدًا بما يكفي.

    public class MyCollectionViewRenderer : ExtendedCollectionViewRenderer
    {
        private static readonly FieldInfo CurrentViewHoldersField;
        private static readonly Action<SelectableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>, object, int> ViewHolderClicked;
        private static readonly Func<SelectableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>, int, bool> PositionIsSelected;

        static MyCollectionViewRenderer()
        {
            CurrentViewHoldersField = // SelectableItemsViewAdapter._currentViewHolders via reflection
            ViewHolderClicked = // Gets SelectableItemsViewAdapter.SelectableClicked via reflection as a delegate
            PositionIsSelected =  // Gets SelectableItemsViewAdapter.PositionIsSelected via reflection as a delegate
        }

        public MyCollectionViewRenderer(Context context) : base(context)
        {
        }

        protected override GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource> CreateAdapter()
        {
            return new MyCollectionViewAdapter(
                groupableItemsView: ItemsView,
                tapColour: GetTapColour(),
                allowItemSelection: Element.SelectionMode != SelectionMode.None,
                viewAppearing: Element.ViewAppearing);
        }

        private class MyCollectionViewAdapter : GroupableItemsViewAdapter<GroupableItemsView, IGroupableItemsViewSource>
        {
            protected internal MyCollectionViewAdapter(GroupableItemsView groupableItemsView, Func<View, Context, ItemContentView> createView = null)
                : base(groupableItemsView,  createView)
            {
            }

            public override void OnViewRecycled(Java.Lang.Object holder)
            {
                // Prevent cleanup of the TemplatedItemViewHolder.
                // This cleanup looks to be the cause of the problem,
                // as it drops references to it's Xamarin Forms view.
                if (holder is TemplatedItemViewHolder templatedItemViewHolder)
                {
                    // Allows selection to be cleared in SelectableItemsViewAdapter.
                    var currentViewHolders = (List<SelectableViewHolder>)CurrentViewHoldersField.GetValue(this);
                    currentViewHolders.Remove(templatedItemViewHolder);
                    return;
                }

                base.OnViewRecycled(holder);
            }

            public override void OnBindViewHolder(ViewHolder holder, int position)
            {
                // If TemplatedItemViewHolder, do the stuff we want to do, plus the stuff forms was doing.
                // Except for SelectableItemAdapter. We don't want their events.
                // Thank you Xamarin team for using "Bind" on TemplatedItemViewHolder.
                if (holder is TemplatedItemViewHolder templatedItemViewHolder)
                {
                    // Remove the child from ItemsView, as TemplatedItemViewHolder.Bind(ItemsView) will
                    // Re-add it later on.
                    ItemsView.RemoveLogicalChild(templatedItemViewHolder.View);

                    if (ItemsSource.IsHeader(position))
                    {
                        templatedItemViewHolder.Bind(ItemsView.Header, ItemsView);
                    }
                    else if (ItemsSource.IsFooter(position))
                    {
                        templatedItemViewHolder.Bind(ItemsView.Footer, ItemsView);
                    }
                    else
                    {
                        // Also accounts for group header/group footer
                        templatedItemViewHolder.Bind(ItemsSource.GetItem(position), ItemsView);
                    }

                    // Allows selection to be cleared in SelectableItemsViewAdapter.
                    var currentViewHolders = (List<SelectableViewHolder>)CurrentViewHoldersField.GetValue(this);
                    currentViewHolders.Add(templatedItemViewHolder);

                    // Make sure that if this item is one of the selected items, it's marked as selected
                    templatedItemViewHolder.IsSelected = PositionIsSelected(this, position);
                    return;
                }

                base.OnBindViewHolder(holder, position);
            }

            public override void OnViewAttachedToWindow(JObject holder)
            {
                base.OnViewAttachedToWindow(holder);

                if (holder is TemplatedItemViewHolder templatedItemViewHolder)
                {
                    // Watch for clicks so the user can select the item held by this ViewHolder
                    // This replaces the click events triggered in SelectableItemViewHolder
                    // but still invokes SelectableItemsViewAdapter.SelectableClicked.
                    // I find these safer to use than click events when tied to Java objects.
                    templatedItemViewHolder.ItemView.SetOnClickListener(
                        ClickListener.With(
                            v => ViewHolderClicked(this, v, templatedItemViewHolder.AdapterPosition)));
                }
            }

            public override void OnViewDetachedFromWindow(JObject holder)
            {
                base.OnViewDetachedFromWindow(holder);

                if (holder is TemplatedItemViewHolder templatedItemViewHolder)
                {
                    templatedItemViewHolder.ItemView.SetOnClickListener(null);
                }
            }
        }
    }

قد يكون الحل الأفضل لذلك هو مسح العرض على TemplatedItemViewHolder.Recycle ثم تنفيذ كل شيء في فرع templateChanging مرة أخرى. يبدو هذا وكأنه نهج أكثر أمانًا ، ولكنه سيتطلب إعادة تنفيذ مجموعة من الأشياء إذا لم يتم إجراء التغيير في قاعدة بيانات XF. لا أعتقد أن الثقة في الحفاظ على طريقة العرض وأجهزة العرض الخاصة بها بين إعادة التدوير والربط ستكون موثوقة.

لا يمكنني إعادة استنساخ هذا ، ولكن السبب في تطبيقنا كان إطلاقًا ملزمًا لواجهة المستخدم التي كانت في طور التخلص (تمت إزالتها من الشجرة المرئية).
لحسن الحظ بالنسبة لنا ، يحتاج وضع الربط فقط إلى أن يتم تعيينه على OneTime لإصلاح المشكلة.

أواجه نفس مشكلة التعطل مع Xamarin.Forms 4.6.0.847.
أحصل على تتبع مكدس التعطل هذا عندما أعبث عدة مرات باستخدام

@ Edgaras91 كانت تجربتي تستخدم أيضًا syncfusion SfComboBox. كان أحد العناصر الموجودة في ItemTemplate هو ربط IsVisible بخاصية في نموذج العرض (IsSelected).
عندما تم تحديد اختيار جديد - والذي يغلق القائمة المنسدلة لمربع التحرير والسرد ، كانت إعادة تعيين خصائص IsSelected لنماذج ItemSource المرتبطة تسبب الانهيار.
أدى تغيير وضع الربط إلى OneTime إلى حل المشكلة.

@ Edgaras91 كانت تجربتي تستخدم أيضًا syncfusion SfComboBox. كان أحد العناصر الموجودة في ItemTemplate هو ربط IsVisible بخاصية في نموذج العرض (IsSelected).
عندما تم تحديد اختيار جديد - والذي يغلق القائمة المنسدلة لمربع التحرير والسرد ، كانت إعادة تعيين خصائص IsSelected لنماذج ItemSource المرتبطة تسبب الانهيار.
أدى تغيير وضع الربط إلى OneTime إلى حل المشكلة.

شكرًا لك InquisitorJax على ذلك ، ومع ذلك ، فإن تغيير نموذج ربط DataSource الخاص بي إلى OneTime ، لم يحل مشكلة التعطل.

بعض المعلومات الإضافية حول كيفية إعادة إنتاج هذا التعطل الذي قد يساعد الآخرين:

في عرض مع SfComboBox والبيانات الموجودة في DataSource ، كل شيء مستقر.
ثم عندما أفتح "نافذة منبثقة" باستخدام Rg.Plugins.Popup ، يعيد استخدام نفس ViewModel مثل BindingContext ويتركه مفتوحًا لمدة 3 ثوانٍ ويغلق هذه النافذة المنبثقة ، ثم تغيير القيمة في SfComboBox الأصلي مرتين بالاختيار من القائمة المنسدلة ، سوف يرمي استثناء LabelRenderer.

السبب في أنني لا أنشر على Syncfusion حتى الآن هو أن الاستثناء هو نماذج Xamarin الخالصة. ما زلت لم أجرب حل التراجع عن إصدار Xamarin المقترح.

أستطيع أن أؤكد أن XF 4.4.0.991864 بالنسبة لي لم يصلحه ، ولا يزال يحصل على نفس الاستثناء.

أشكال Xamarin 4.8.0.1364

JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) View.get_Context () Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) TemplatedView.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) Grid.CalculateAutoCells (System.Double width, System.Double height) Grid.MeasureGrid (System.Double width, System.Double height, System.Boolean requestSize) Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) Layout.UpdateChildrenLayout () Layout.OnSizeAllocated (System.Double width, System.Double height) VisualElement.SizeAllocated (System.Double width, System.Double height) Layout.ResolveLayoutChanges () Thread+RunnableImplementor.Run () IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this)

يمكن تكرار هذه المشكلة في طرق عرض المجموعة باستخدام قوالب العنصر. لقد أصبح هذا خطأ حرجًا بالنسبة لنا.

لدينا محدد قالب عرض المجموعة وتتكون القوالب من مكونات قابلة للتوسيع وتعطل التطبيق مع استثناء أدناه عند النقر على أيقونة قابلة للتوسيع.

ملاحظة: يتم تحقيق التوسيع ببساطة عن طريق تعيين خطأ مرئي وتعيين حجم صف الشبكة الرئيسية على تلقائي.

لا يقتصر الأمر على LabelRenderer فحسب ، بل إنه يطلق استثناء ImageRenderer أيضًا ، عندما لا توجد تسميات في العرض القابل للتوسيع.

"09-10 20: 20: 28.104 E / AppCenterCrashes (23119): استثناء غير معالج من المصدر = AndroidEnvironment
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer".
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] في: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.Jni000 *Argument) [Value.: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Android.Views.View.get_Context () [0x0000a] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view، System.Double widthConstraint، System.Double heightConstraint) [0x00019] في D : a1sXamarin.Forms.Platform.AndroidPlatform.cs: 1341
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Forms + AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view، System.Double widthConstraint، System.Double heightConstraint) [0x00000] في Darin: a1sXam نماذج النظام الأساسي AndroidForms.cs: 921
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00025] في D: a1sXamarin.Forms.CoreVisualElement.cs: 854
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Image.OnSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00000] في D: a1sXamarin.Forms.CoreImage.cs: 74
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint، System.Double heightConstraint) [0x00000] في D: a1sXamarin.Forms.CoreVisualElement.cs: 837
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint، System.Double heightConstraint) [0x00053] في D: a1sXamarin.Forms.CoreVisualElement.cs: 713
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint، System.Double heightConstraint، Xamarin.Forms.MeasureFlags flags) [0x00054] في D: a1sXamarin.Forms .CoreVisualElement.cs: 771
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.CalculateAutoCells (System.Double width، System.Double height) [0x002a3] في D: a1sXamarin.Forms.CoreGridCalc.cs: 166
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.MeasureGrid (System.Double width، System.Double height، System.Boolean requestSize) [0x0000c] في D: a1sXamarin.Forms.CoreGridCalc .cs: ​​576
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Grid.LayoutChildren (System.Double x، System.Double y، System.Double width، System.Double height) [0x0000e] في D: a1sXamarin.Forms.CoreGridCalc.cs: 18
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] في D: a1sXamarin.Forms.CoreLayout.cs: 266
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.OnSizeAllocated (System.Double width، System.Double height) [0x0000f] في D: a1sXamarin.Forms.CoreLayout.cs: 224
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.VisualElement.SizeAllocated (System.Double width، System.Double height) [0x00000] في D: a1sXamarin.Forms.CoreVisualElement.cs: 859
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] في D: a1sXamarin.Forms.CoreLayout.cs: 392
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Lang.Thread + RunnableImplementor.Run () [0x00008] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv، System.IntPtr native__this) [0x00008] في <55654ebe9f2a48e6bade2862bb243f94>: 0
09-10 20: 20: 28.104 E / AppCenterCrashes (23119): في (طريقة التحويل الديناميكية) Android.Runtime.DynamicMethodNameCounter.1 (intptr ، intptr)

System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.FastRenderers.ImageRenderer".

إنه لأمر مثير للسخرية تمامًا كيف تتوقع Microsoft استخدام هذا النظام الأساسي لإنشاء أي تطبيق Enterprise به عيب أساسي لا يزال مفتوحًا بعد العديد من الشكاوى على مدار هذه الفترة الطويلة!

لم نتمكن من إصدار تحديث لإصدار Android الخاص بنا من التطبيق خلال الأشهر الأربعة الماضية وكل ما حصلنا عليه من هذا الموضوع هو أنه لا يمكنهم إعادة إنتاج هذا ، في حين أن بقية العالم يستطيعون ذلك بسهولة !!!

يجب أن تتوقف Microsoft عن فعل أي شيء وكل شيء قبل إصلاح هذا الخطأ. إن إصدار أي إصدار أحدث من Xamarin لا طائل من ورائه !!!

الحل البديل الخاص بي لهذا الاستثناء (اختبار إصدارات XF من 4.5.X إلى 4.8.X قبل التأكد من أن تغيير الإصدار لا يعمل):
POV: CarouselView (كمشروط) يحتفظ بملصقات بأرقام (اختيار كمية المنتج في سلة التسوق). يظهر عنصر التحكم هذا فقط إذا كان المستخدم يريد تغيير الكمية. تم إطلاق هذا الاستثناء عندما كان العرض الدائري مخفيًا ، ولكنه لا يزال "متصلًا" بقائمة الربط <> و SelectedItem.
الحل: ملء عنصر التحكم هذا في xaml.cs مباشرة بعد إطلاق الحدث Clicked. بهذه الطريقة ، لا يتم ربط عنصر التحكم هذا بفئة ViewModel / PageModel.
هذا الحل هو محاكاة الربط:
ج #
// _counts هو CarouselView
QuantityChangeTapped باطل خاص (مرسل الكائن ، System.EventArgs e) // حدث الزر
{
عنصر CartItem = (المرسل كعرض) .BindingContext as CartItem ؛ // منتج في سلة التسوق ستتغير هذه الكمية
_viewModel.Item = عنصر ؛ // ضبط الكمية المحفوظة بالفعل
_counts.ItemsSource = Enumerable.Range (1، item.QuantityRemaining) .ToList () ؛
_counts.Position = العنصر. الكمية - 1 ؛ // تمرير دائري للكمية المحفوظة بالفعل
ShowSlider () ، // عرض دائري
}
باطل خاص CountApprouveClicked (مرسل الكائن ، System.EventArgs e) // حدث الزر المسمى "حفظ الكمية المحددة"
{
CloseSlider () ،
_viewModel.SelectedCount = (int) _counts.CurrentItem ؛
_viewModel.OnCountApprouve.Execute (خالية) ،
}

""

واجهت هذا مرة أخرى - فقط لم يكن هناك أي عناصر تحكم Syncfusion.
ببساطة عنصر في DataTemplate له ارتباط IsVisible بـ ViewModel.
كان الحل هو نفسه بالرغم من ذلك: اضبط BindingMode على OneTime.

هل يمكن لأي شخص يرى هذه المشكلة اختباره مع الكتلة هنا؟

https://dev.azure.com/xamarin/public/_build/results؟buildId=25860&view=artifacts&type=publishedArtifacts

ثم يرجى إعلامي إذا كنت لا تزال ترى الاستثناء؟

هل يمكن لأي شخص يرى هذه المشكلة اختباره مع الكتلة هنا؟

https://dev.azure.com/xamarin/public/_build/results؟buildId=25860&view=artifacts&type=publishedArtifacts

ثم يرجى إعلامي إذا كنت لا تزال ترى الاستثناء؟

لقد جربت للتو الكتلة التي نشرتها واستمر حدوث استثناء ، والفرق الوحيد عن الاستثناء السابق هو أنه بدلاً من الإشارة إلى Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer الآن يشير الاستثناء إلى Xamarin.Forms.Platform.Android النظام الأساسي + العارض الافتراضي

استثناء جديد:

System.ObjectDisposedException: 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.Platform+DefaultRenderer'.'

استثناء قديم:

System.ObjectDisposedException: 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.'

nacompllo هل يمكنك نشر Stacktrace بالكامل؟ أدرك أنه من المحتمل أن يكون السطر الوحيد مختلفًا ولكن سيظل من المفيد الحصول على التتبع الكامل هنا

PureWeen لقد اختبرت nuget ولا يزال يتعطل ولكن المكدس مختلف قليلاً

09-12 22:30:00.522 I/MonoDroid( 5147): UNHANDLED EXCEPTION:
09-12 22:30:00.524 I/MonoDroid( 5147): System.ObjectDisposedException: Cannot access a disposed object.
09-12 22:30:00.524 I/MonoDroid( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
09-12 22:30:00.524 I/MonoDroid( 5147):   at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x0001b] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1345 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002d] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:814 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:799 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00070] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:689 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00064] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:741 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0009d] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:133 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00177] in D:\agent\1\s\Xamarin.Forms.Core\GridCalc.cs:49 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00173] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:239 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x00011] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:203 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:817 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0008b] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:374 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00016] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1309 
09-12 22:30:00.524 I/MonoDroid( 5147):   at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:00.524 I/MonoDroid( 5147):   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:00.532 E/AppCenterCrashes( 5147): Unhandled Exception from source=AndroidEnvironment
09-12 22:30:00.532 E/AppCenterCrashes( 5147): System.ObjectDisposedException: Cannot access a disposed object.
09-12 22:30:00.532 E/AppCenterCrashes( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x0001b] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1345 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x0002d] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:814 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00001] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:799 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00070] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:689 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00064] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:741 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0009d] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:133 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00177] in D:\agent\1\s\Xamarin.Forms.Core\GridCalc.cs:49 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00173] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:239 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x00011] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:203 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\agent\1\s\Xamarin.Forms.Core\VisualElement.cs:817 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0008b] in D:\agent\1\s\Xamarin.Forms.Core\Layout.cs:374 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00016] in D:\agent\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1309 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:00.532 E/AppCenterCrashes( 5147):   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:00.539 D/Mono    ( 5147): Requesting loading reference 5 (of 6) of /storage/emulated/0/Android/data/com.Tandem.DoKapsyApp/files/.__override__/Microsoft.AppCenter.Crashes.dll
09-12 22:30:00.539 D/Mono    ( 5147): Loading reference 5 of /storage/emulated/0/Android/data/com.Tandem.DoKapsyApp/files/.__override__/Microsoft.AppCenter.Crashes.dll asmctx DEFAULT, looking for System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
09-12 22:30:00.539 D/Mono    ( 5147): Assembly Ref addref Microsoft.AppCenter.Crashes[0xec37f580] -> System.Core[0xec37e8c0]: 11
09-12 22:30:00.634 D/Mono    ( 5147): DllImport searching in: '__Internal' ('(null)').
09-12 22:30:00.634 D/Mono    ( 5147): Searching for 'java_interop_jnienv_throw'.
09-12 22:30:00.634 D/Mono    ( 5147): Probing 'java_interop_jnienv_throw'.
09-12 22:30:00.634 D/Mono    ( 5147): Found as 'java_interop_jnienv_throw'.
**System.ObjectDisposedException:** 'Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.'


=================================================================
    Native Crash Reporting
=================================================================
Got a SEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

No native Android stacktrace (see debuggerd output).

=================================================================
    Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0xe79167fa):0xe79167ea  00 00 00 c7 47 18 00 00 00 00 74 7a 8b 3a 31 d2  ....G.....tz.:1.
0xe79167fa  8b 4f 04 f7 c1 00 01 00 00 0f 84 28 f9 ff ff a8  .O.........(....
0xe791680a  01 0f 85 c1 00 00 00 8b 57 18 85 d2 0f 84 de fd  ........W.......
0xe791681a  ff ff 8b b3 04 3b 00 00 3b 93 ac fb ff ff 8b 86  .....;..;.......

=============================================================09-12 22:30:01.742 I/MonoDroid( 5147): UNHANDLED EXCEPTION:

====
    Managed Stacktrace:
=================================================================
      at <unknown> <0xffffffff>
      at Java.Interop.NativeMethods:java_interop_jnienv_new_string <0x00012>
      at Strings:NewString <0x00077>
      at Strings:NewString <0x00147>
      at Android.Runtime.JNIEnv:NewString <0x0008f>
      at Java.Lang.Error:.ctor <0x000ff>
      at Android.Runtime.JavaProxyThrowable:.ctor <0x00067>
      at Java.Lang.Throwable:FromException <0x0012f>
      at Android.Runtime.AndroidEnvironment:UnhandledException <0x0039b>
      at Android.Runtime.DynamicMethodNameCounter:28 <0x00163>
      at Android.Runtime.DynamicMethodNameCounter:28 <0x000bf>
      at <unknown> <0xffffffff>
      at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
      at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
      at JniInstanceMethods:InvokeNonvirtualVoidMethod <0x00127>
      at Android.Views.View:Measure <0x00197>
      at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer:OnLayout <0x0037f>
      a09-12 22:30:01.743 I/MonoDroid( 5147): System.ObjectDisposedException: Cannot access a disposed object.

t Xamarin.Forms.Platform.Android.FormsViewGroup:n_OnLayout_ZIIII <0x000ca>
      at Android.Runtime.DynamicMethodNameCounter:40 <0x00147>
      at Android.Runtime.DynamicMethodNameCounter:40 <0x000f3>
      at <unknown> <0xffffffff>
      at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
      at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
      at JniInstanceMethods:InvokeVirtualVoidMethod <0x002df>
      at Xamarin.Forms.Platform.Android.FormsViewGroup:MeasureAndLayout <0x00397>
      at Xamarin.Forms.Platform.Android.VisualElementTracker:UpdateLayout <0x00797>
      at Xamarin.Forms.Platform.Android.VisualElementRenderer`1:UpdateLayout <0x000c3>
      at Xamarin.Forms.Platform.Android.MasterDetailContainer:OnLayout <0x003c6>
      at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailContainer:OnLayout <0x000db>
      at Android.Views.ViewGroup:n_OnLayout_ZIIII <0x000aa>
      at Android.Runtime.DynamicMethodNameCounter:27 <0x00147>
      at Android.Runtime.DynamicMethodNameCounter:27 <0x000f3>
      a09-12 22:30:01.743 I/MonoDroid( 5147): Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.

t <unknown> <0xffffffff>
      at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
      at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
      at JniInstanceMethods:InvokeVirtualVoidMethod <0x002df>
      at AndroidX.DrawerLayout.Widget.DrawerLayout:OnLayout <0x002eb>
      at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRenderer:OnLayout <0x00087>
      at AndroidX.DrawerLayout.Widget.DrawerLayout:n_OnLayout_ZIIII <0x000aa>
      at Android.Runtime.DynamicMethodNameCounter:31 <0x00147>
      at Android.Runtime.DynamicMethodNameCounter:31 <0x000f3>
      at <unknown> <0xffffffff>
      at Java.Interop.NativeMethods:java_interop_jnienv_call_nonvirtual_void_method_a <0x00015>
      at InstanceMethods:CallNonvirtualVoidMethod <0x00353>
      at JniInstanceMethods:InvokeNonvirtualVoidMethod <0x00127>
      at Android.Views.ViewGroup:Layout <0x00277>
      at Xamarin.Forms.Platform.Android.VisualElementTracker:UpdateLayout <0x0061a>
      at Xamarin.Forms.Platform.Android.AppCompat.MasterDetailPageRende09-12 22:30:01.743 I/MonoDroid( 5147):   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)

rer:Xamarin.Forms.Platform.Android.IVisualElementRenderer.UpdateLayout <0x00067>
      at Xamarin.Forms.Platform.Android.AppCompat.Platform:Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout <0x00184>
      at Xamarin.Forms.Platform.Android.PlatformRenderer:OnLayout <0x00119>
      at Android.Views.ViewGroup:n_OnLayout_ZIIII <0x000aa>
      at Android.Runtime.DynamicMethodNameCounter:27 <0x00147>
      at Android.Runtime.DynamicMethodNameCounter:27 <0x000f3>
=================================================================09-12 22:30:01.743 I/MonoDroid( 5147):   at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)

09-12 22:30:01.743 I/MonoDroid( 5147):   at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a(intptr,intptr&,intptr,intptr,intptr,intptr)
09-12 22:30:01.743 I/MonoDroid( 5147):   at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00079] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:01.743 I/MonoDroid( 5147):   at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0001f] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
09-12 22:30:01.743 I/MonoDroid( 5147):   at Android.Views.View.Measure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00035] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:01.743 I/MonoDroid( 5147):   at Xamarin.Forms.Platform.Android.AppCompat.NavigationPageRenderer+Container.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x000d0] in D:\agent\1\s\Xamarin.Forms.Platform.Android\AppCompat\NavigationPageRenderer.cs:1223 
09-12 22:30:01.743 I/MonoDroid( 5147):   at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
09-12 22:30:01.743 I/MonoDroid( 5147):   at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.28(intptr,intptr,int,int)
09-12 22:30:01.746 F/libc    ( 5147): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6f726578 in tid 5147 (ndem.DoKapsyApp), pid 5147 (ndem.DoKapsyApp)
[HotReload] (2020-09-12 22:30:03.9): INFO: (Tandem.DoKapsyApp.Android) Stopped Hot Reload session due to ExplicitlyEnded ...

تضمين التغريدة
أرفق جميع المعلومات التي أحصل عليها من نافذة الإخراج:

09-13 12: 37: 30.755 I / MonoDroid (21323): الاستثناء العشوائي:
09-13 12: 37: 30.758 I / MonoDroid (21323): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-13 12: 37: 30.759 I / MonoDroid (21323): اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer".
09-13 12: 37: 30.759 I / MonoDroid (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 30.759 I / MonoDroid (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 30.759 I / MonoDroid (21323): في (برنامج التفاف مُدار إلى أصلي) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr، intptr &، intptr، intptr، intptr، intptr)
09-13 12: 37: 30.759 I / MonoDroid (21323): في Java.Interop.JniEnvironment + InstanceMethods.CallNonvirtualVoidMethod (مثال Java.Interop.JniObjectReference ، Java.Interop.JniObject.ethoderence type، Java.Interop.JniObjectReference type، Java.Interop.JniObject .JniArgumentValue * args) [0x00079] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue000 *] المعلمات [ <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0، System.Int32 p1، System.Int32 p2، System.Int32 p3، System. Int32 p4، System.Int32 p5) [0x00088] في D: agent1sXamarin.Forms.Platform.Android.FormsViewGroupobjDebuggeneratedsrcXamarin.Forms.Platform.Android.FormsViewGroup.cs: 181
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] في D: agent1sXamarin.Forms.Platform.AndroidVisualElementTracker.cs: 111
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.VisualElementRenderer`1 [TElement] .UpdateLayout () [0x00014] في D: agent1sXamarin.Forms.Pl.AndroidVisualElementRenderer.cs: 139
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t، System.Int32 r، System.Int32 b) [0x0002f] في D: agent1sXamarin.Forms.Platform.AndroidAppCompatPlatform.cs: 235
09-13 12: 37: 30.759 I / MonoDroid (21323): في Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System. Int32 b) [0x0001d] في D: agent1sXamarin.Forms.Platform.AndroidPlatformRenderer.cs: 75
09-13 12: 37: 30.759 I / MonoDroid (21323): في Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv ، System.IntPtr original__this ، System.Boolean تغيير ، System.Int32 l ، System.Int32 t ، System .Int32 r ، System.Int32 b) [0x00008] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 30.759 I / MonoDroid (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int)
System.ObjectDisposedException: 'لا يمكن الوصول إلى كائن تم التخلص منه.
اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer". "

09-13 12:37: 33.822 شرق / أحادي (21323):
09-13 12: 37: 33.822 E / mono (21323): استثناء غير معالج:
09-13 12: 37: 33.822 E / mono (21323): System.ObjectDisposedException: لا يمكن الوصول إلى كائن تم التخلص منه.
09-13 12: 37: 33.822 E / mono (21323): اسم الكائن: "Xamarin.Forms.Platform.Android.Platform + DefaultRenderer".
09-13 12: 37: 33.822 E / mono (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 33.822 E / mono (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.33 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 33.822 E / mono (21323): في (التفاف مُدار إلى أصلي) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a (intptr، intptr &، intptr، intptr، intptr، intptr)
09-13 12: 37: 33.822 E / mono (21323): في Java.Interop.JniEnvironment + InstanceMethods.CallNonvirtualVoidMethod (مثيل Java.Interop.JniObjectReference ، نوع Java.Interop.JniObjectReference ، Java.Interop.JopniMeth.Interop .JniArgumentValue * args) [0x00079] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.822 E / mono (21323): في Java.Interop.JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * معلمات) [0x0005] <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0، System.Int32 p1، System.Int32 p2، System.Int32 p3، System. Int32 p4، System.Int32 p5) [0x00088] في D: agent1sXamarin.Forms.Platform.Android.FormsViewGroupobjDebuggeneratedsrcXamarin.Forms.Platform.Android.FormsViewGroup.cs: 181
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] في D: agent1sXamarin.Forms.Platform.AndroidVisualElementTracker.cs: 111
09-13 12: 37: 33.822 E / mono (21323): في Xamarin.Forms.Platform.Android.VisualElementRenderer 1[TElement].UpdateLayout () [0x00014] in D:\agent\1\s\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:139 09-13 12:37:33.822 E/mono (21323): at Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x0002f] in D:\agent\1\s\Xamarin.Forms.Platform.Android\AppCompat\Platform.cs:235 09-13 12:37:33.822 E/mono (21323): at Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x0001d] in D:\agent\1\s\Xamarin.Forms.Platform.Android\PlatformRenderer.cs:75 09-13 12:37:33.822 E/mono (21323): at Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv, System.IntPtr native__this, System.Boolean changed, System.Int32 l, System.Int32 t, System.Int32 r, System.Int32 b) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,bool,int,int,int,int) 09-13 12:37:33.822 E/mono (21323): --- End of stack trace from previous location where exception was thrown --- 09-13 12:37:33.822 E/mono (21323): 09-13 12:37:33.822 E/mono (21323): at Java.Interop.JniEnvironment+Strings.NewString (System.Char* unicodeChars, System.Int32 length) [0x0001e] in <42748fcc36b74733af2d9940a8f3cc8e>:0 09-13 12:37:33.822 E/mono (21323): at Java.Interop.JniEnvironment+Strings.NewString (System.String value) [0x00024] in <42748fcc36b74733af2d9940a8f3cc8e>:0 09-13 12:37:33.822 E/mono (21323): at Android.Runtime.JNIEnv.NewString (System.String text) [0x00009] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at Java.Lang.Error..ctor (System.String message) [0x0001f] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at Android.Runtime.JavaProxyThrowable..ctor (System.Exception innerException) [0x00007] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at Java.Lang.Throwable.FromException (System.Exception e) [0x0001d] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at Android.Runtime.AndroidEnvironment.UnhandledException (System.Exception e) [0x00067] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 09-13 12:37:33.822 E/mono (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,bool,int,int,int,int) 09-13 12:37:33.822 E/mono (21323): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.27(intptr,intptr,int,int,int,int,int) 09-13 12:37:33.826 E/mono-rt (21323): [ERROR] FATAL UNHANDLED EXCEPTION: System.ObjectDisposedException: Cannot access a disposed object. 09-13 12:37:33.826 E/mono-rt (21323): Object name: 'Xamarin.Forms.Platform.Android.Platform+DefaultRenderer'. 09-13 12:37:33.826 E/mono-rt (21323): at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.33(intptr,intptr,bool,int,int,int,int) 09-13 12:37:33.826 E/mono-rt (21323): at (wrapper native-to-managed) Android.Runtime.DynamicMethodNameCounter.33(intptr,intptr,int,int,int,int,int) 09-13 12:37:33.826 E/mono-rt (21323): at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_call_nonvirtual_void_method_a(intptr,intptr&,intptr,intptr,intptr,intptr) 09-13 12:37:33.826 E/mono-rt (21323): at Java.Interop.JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00079] in <42748fcc36b74733af2d9940a8f3cc8e>:0 09-13 12:37:33.826 E/mono-rt (21323): at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0005d] in <42748fcc36b74733af2d9940a8f3cc8e>:0 09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.FormsViewGroup.MeasureAndLayout (System.Int32 p0, System.Int32 p1, System.Int32 p2, System.Int32 p3, System.Int32 p4, System.Int32 p5) [0x00088] in D:\agent\1\s\Xamarin.Forms.Platform.Android.FormsViewGroup\obj\Debug\generated\src\Xamarin.Forms.Platform.Android.FormsViewGroup.cs:181 09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.VisualElementTracker.UpdateLayout () [0x0015c] in D:\agent\1\s\Xamarin.Forms.Platform.Android\VisualElementTracker.cs:111 09-13 12:37:33.826 E/mono-rt (21323): at Xamarin.Forms.Platform.Android.VisualElementRenderer 1 [TElement] .UpdateLayout () [0x00014] في D: agent1sXamarin.Forms.Platform .AndroidVisualElementRenderer.cs: 139
09-13 12: 37: 33.826 E / mono-rt (21323): في Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms.Platform.Android.IPlatformLayout.OnLayout (System.Boolean تغير ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System.Int32 b) [0x0002f] في D: agent1sXamarin.Forms.Platform.AndroidAppCompatPlatform.cs: 235
09-13 12: 37: 33.826 E / mono-rt (21323): في Xamarin.Forms.Platform.Android.PlatformRenderer.OnLayout (تم تغيير System.Boolean ، System.Int32 l ، System.Int32 t ، System.Int32 r ، System.Int32 b) [0x0001d] في D: agent1sXamarin.Forms.Platform.AndroidPlatformRenderer.cs: 75
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Views.ViewGroup.n_OnLayout_ZIIII (System.IntPtr jnienv ، System.IntPtr native__this ، System.Boolean تغيير ، System.Int32 l ، System.Int32 t ، System.Int32 r، System.Int32 b) [0x00008] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int)
09-13 12: 37: 33.826 E / mono-rt (21323): --- نهاية تتبع المكدس من الموقع السابق حيث تم إلقاء الاستثناء -
09-13 12: 37: 33.826 شرقًا / أحاديًا (21323):
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Interop.JniEnvironment + Strings.NewString (System.Char * unicodeChars ، System.Int32 length) [0x0001e] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Interop.JniEnvironment + Strings.NewString (System.String value) [0x00024] في <42748fcc36b74733af2d9940a8f3cc8e>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.JNIEnv.NewString (System.String text) [0x00009] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Lang.Error..ctor (System.String message) [0x0001f] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.JavaProxyThrowable..ctor (System.Exception innerException) [0x00007] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Java.Lang.Throwable.FromException (System.Exception e) [0x0001d] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): في Android.Runtime.AndroidEnvironment.UnhandledException (System.Exception e) [0x00067] في <7d2292394f8c488b97f5bc2a0ac0240d>: 0
09-13 12: 37: 33.826 E / mono-rt (21323): عند (طريقة التغليف الديناميكية) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، bool ، int ، int ، int ، int) إنهاء

09-13 12: 37: 33.826 E / mono-rt (21323): في (برنامج التفاف أصلي إلى مُدار) Android.Runtime.DynamicMethodNameCounter.27 (intptr ، intptr ، int ، int ، int ، int ، int)
09-13 12: 37: 33.865 E / libc ++ abi (21323): إنهاء
09-13 12: 37: 33.866 F / libc (21323): إشارة قاتلة 6 (SIGABRT) ، الكود -1 (SI_QUEUE) في tid 21323 (ame.labelrender) ، pid 21323 (ame.labelrender)

تضمين التغريدة

جرب هذا واعلمني من فضلك!

https://dev.azure.com/xamarin/public/_build/results؟buildId=26573&view=artifacts&type=publishedArtifacts

تضمين التغريدة

جرب هذا واعلمني من فضلك!

https://dev.azure.com/xamarin/public/_build/results؟buildId=26573&view=artifacts&type=publishedArtifacts

تضمين التغريدة
لقد أجريت للتو الاختبار باستخدام nuget الجديد ويبدو أن المشكلة قد تم حلها لم تعد تتكرر ، ويبدو أن هذه الكتلة المعدنية تحل هذه المشكلة. عمل جيد.

PureWeen لقد

PureWeen @ أؤكد أيضًا أنه في الوقت الحالي لا يقوم تطبيقي بإطلاق هذا الاستثناء بعد اختبارات سريعة.

رائع!!

PureWeen ، لم يعد يحدث الاستثناء مع القطع المقدمة. عنوان تفسيري.

هل يمكن لأي شخص أن يشرح كيفية تثبيت هذا "nuget" على نماذج Xamarin؟

@ Edgaras91 نلقي نظرة على هذا

@ Edgaras91 ،
اضغط على الرابط.
على يمين لوحة "nuget" سيكون هناك زر "المزيد" (3 نقاط عمودية) ، من قائمة السياق حدد "تنزيل [...]".
ثم قم بتعيين (كما ذكر Reveon ) المصدر المحلي للكتل المحلية في ملفات النظام (على سبيل المثال "C: reposlocalNugets") وضع محتوى zip من zip الذي تم تنزيله في هذا المجلد (سيكون هناك عدد قليل من ملفات Xamarin .nupkg).
ثم في مدير VS الخاص بك ، افتح NuGet ومن هذا المربع المنسدل
obraz
حدد مصدرك المحلي (يطلق علي مصدري "محلي" فقط)
أخيرًا ، ما عليك سوى تثبيت / تحديث Xamarin.Forms للمشروع المحدد كالمعتاد.

شكرا لك Reveon و BartoszKopec . ومع ذلك ، لدي أيضًا عمليات تكامل مستمرة لـ Dev Ops ، سيكون هذا ممتعًا .. آمل أن يتم اعتماد هذا الإصلاح وسيتم طرحه في أسرع وقت ممكن!

@ Edgaras91 أستخدم App Center بصفتي CI ولدي نفس المشكلة - لا يمكنني استخدامه! 😄

يمكن أيضًا تأكيد هذا يبدو أنه يجب حله.
PureWeen هل نعرف ما سيكون أكثر أو أقل من eta للإصدار المقرر هذا؟

  • عمل رائع في توضيح السبب ؛)

مرحبا،
بالنسبة للأشخاص الذين لديهم هذه المشكلة: في حالتي ، كان لدي العديد من الملصقات التي غيرت الرؤية عبر IsVisible .
لقد غيرتها مقابل BackGroundColor و TextColor Color.Transparent أم لا ، واختفت المشكلة…
أتمنى أن يساعدك هذا ...

هل سيتم تضمين هذا الإصلاح في 4.8 التالية؟ أو 5.0 فقط؟

التالي SR 4.8

نفس الاستثناء في 4.8.0.1451:

{InnerException: null  StackTrace:   at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <324349c9a2dd47568c91620d2bd3db5a>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <324349c9a2dd47568c91620d2bd3db5a>:0 
  at Android.Views.View.get_Context () [0x0000a] in <f69f42e19d884caca4279f1717610a26>:0 
  at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341 
  at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921 
  at Xamarin.Forms.VisualElement.OnSizeRequest (Syst


    at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <324349c9a2dd47568c91620d2bd3db5a>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <324349c9a2dd47568c91620d2bd3db5a>:0 
  at Android.Views.View.get_Context () [0x0000a] in <f69f42e19d884caca4279f1717610a26>:0 
  at Xamarin.Forms.Platform.Android.Platform.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1341 
  at Xamarin.Forms.Forms+AndroidPlatformServices.GetNativeSize (Xamarin.Forms.VisualElement view, System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Platform.Android\Forms.cs:921 
  at Xamarin.Forms.VisualElement.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00025] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:811 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738 
  at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x00236] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:198 
  at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123 
  at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:113 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738 
  at Xamarin.Forms.StackLayout.CalculateNaiveLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, Xamarin.Forms.StackOrientation orientation, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint) [0x000a8] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:163 
  at Xamarin.Forms.StackLayout.CalculateLayout (Xamarin.Forms.StackLayout+LayoutInformation layout, System.Double x, System.Double y, System.Double widthConstraint, System.Double heightConstraint, System.Boolean processExpanders) [0x00058] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:123 
  at Xamarin.Forms.StackLayout.OnSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\StackLayout.cs:80 
  at Xamarin.Forms.VisualElement.OnMeasure (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:796 
  at Xamarin.Forms.VisualElement.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00053] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:686 
  at Xamarin.Forms.Layout.GetSizeRequest (System.Double widthConstraint, System.Double heightConstraint) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:113 
  at Xamarin.Forms.VisualElement.Measure (System.Double widthConstraint, System.Double heightConstraint, Xamarin.Forms.MeasureFlags flags) [0x00054] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:738 
  at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x0007b] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:133 
  at Xamarin.Forms.TemplatedView.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\TemplatedView.cs:29 
  at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:239 
  at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:203 
  at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:814 
  at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x0005c] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:362 
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <f69f42e19d884caca4279f1717610a26>:0 
  at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <f69f42e19d884caca4279f1717610a26>:0 
  at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.36(intptr,intptr)


  Cannot access a disposed object.
Object name: 'Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer'.


Xamarin.Forms.Platform.Android.FastRenderers.LabelRenderer

Java.Interop

System.ObjectDisposedException

ليس في هذا الإصدار ، سوف تحتاج إلى انتظار نماذج Xamarin 4.8 إصدار الخدمة 3

ليس في هذا الإصدار ، سوف تحتاج إلى انتظار نماذج Xamarin 4.8 إصدار الخدمة 3

joshuangfraedom هل تقصد أن هذه المشكلة قد تم إصلاحها في نماذج Xamarin 4.8 إصدار الخدمة 3؟

متى يتم التخطيط للنشر؟ كم من الوقت تنتظر ... :-)))

لست متأكدًا من آسف ، يبدو أن الإصلاح الخاص بهذا موجود حاليًا في XF 5.0 Prerelease 1 إذا كنت ترغب في إجراء ذلك. samhouts هل يمكننا الحصول على تحديث لإصدار خدمة آخر لـ 4.8؟

اختبرت مشروعًا به نفس الخطأ ، Xamarin 5.0.0.1539-pre2 وما زال قائمًا

System.ObjectDisposedException: Cannot access a dropped object

باستخدام هذا السطر Forms.SetFlags ("UseLegacyRenderers") في المشروع ، يكون للاستثناء اسم الكائن:
Xamarin.Forms.Platform.Android.AppCompat.FrameRenderer

بدون خط العلم اسم الكائن:
Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer

TsplayerT هل يمكنك نشر تتبع المكدس الكامل؟

ها هو:

| الخيط الرئيسي | التفاصيل |
| ------------------- | ------------------- |
| Java.Interop | JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) |
| Java.Interop | JniPeerMembers + JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember، Java.Interop.IJavaPeerable self، Java.Interop.JniArgumentValue * معلمات) |
| Android.Views | View.set_Enabled (قيمة System.Boolean) |
| Xamarin.Forms.Platform.Android.FastRenderers | VisualElementRenderer.UpdateIsEnabled () |
| Xamarin.Forms.Platform.Android.FastRenderers | VisualElementRenderer.OnElementPropertyChanged (المرسل System.Object ، System.ComponentModel.PropertyChangedEventArgs e) (استدعاء مفوض المجمع.invoke_void_object_PropertyChangedEventArgs (كائن ، System.ComponentModel.PropertyChangedEventArgs) |
| نماذج Xamarin | BindableObject.OnPropertyChanged (System.String propertyName) |
| نماذج Xamarin | Element.OnPropertyChanged (System.String propertyName) |
| نماذج Xamarin | BindableObject.SetValueActual (خاصية Xamarin.Forms.BindableProperty ، Xamarin.Forms.BindableObject + BindablePropertyContext Context ، System.Object value ، System.Boolean nowApplying ، Xamarin.Forms.Internals.SetValueFlags السمات ، System |.Boolean
| نماذج Xamarin | BindableObject.SetValueCore (خاصية Xamarin.Forms.BindableProperty ، قيمة System.Object ، سمات Xamarin.Forms.Internals.SetValueFlags ، Xamarin.Forms.BindableObject + SetValuePrivateFlags privateAttributes) |
| نماذج Xamarin | BindingExpression.ApplyCore (System.Object sourceObject ، Xamarin.Forms.BindableObject target ، Xamarin.Forms.BindableProperty property ، System.Boolean fromTarget) |
| نماذج Xamarin | BindingExpression.Apply (نظام منطقي من الهدف) |
| نماذج Xamarin | تعبير ملزم + ملزم التعبير جزء.ب__49_0 () |
| Java.Lang | الموضوع + RunnableImplementor.Run () |
| Java.Lang | IRunnableInvoker.n_Run (System.IntPtr jnienv، System.IntPtr native__this) (طريقة الغلاف الديناميكي) Android.Runtime.DynamicMethodNameCounter.24 (intptr، intptr) |

تم إرفاق تفاصيل الخطأ والمعلومات الأخرى. report.txt

يجب إعادة فتح هذا. يمكنني أيضًا إعادة إنتاجه على 5.0.0.1558-pre3.
ضع في اعتبارك أنني حصلت على الحالة التالية - لديّ عنصرين (التسمية متضمنة) داخل إطار. لقد قمت بلف الإطار في صفي - TestFrame. هناك ، لقد تجاوزت OnElementPropertyChanged. يحدث الاستثناء عندما أحصل على حدث تم تغيير الخاصية للخاصية "Y". ضع في اعتبارك أنه في بعض الأحيان ، أحصل على استثناء في LabelRenderer نفسه ، بدلاً من Frame. أفترض أن المشكلة لا تزال قائمة ، فقط في هذه الحالة تظهر عندما يكون لدينا إطار. إليك تتبع المكدس:

System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'Test.Droid.Renderers.TestFrameRenderer'.
  at Java.Interop.JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self) [0x00029] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
  at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeNonvirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00000] in <42748fcc36b74733af2d9940a8f3cc8e>:0 
  at Android.Views.View.get_Context () [0x0000a] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
  at Test.Droid.Renderers.TestFrameRenderer.UpdateFrame (Test.Views.Controls.TestFrame frameElement) [0x00001] in ...Test.Android\Renderers\TestFrameRenderer.cs:50 
  at Test.Droid.Renderers.TestFrameRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x0001f] in ...\Test.Android\Renderers\TestFrameRenderer.cs:44 
  at (wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs(object,System.ComponentModel.PropertyChangedEventArgs)
  at Xamarin.Forms.BindableObject.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:229 
  at Xamarin.Forms.Element.OnPropertyChanged (System.String propertyName) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\Element.cs:362 
  at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty property, Xamarin.Forms.BindableObject+BindablePropertyContext context, System.Object value, System.Boolean currentlyApplying, Xamarin.Forms.Internals.SetValueFlags attributes, System.Boolean silent) [0x00114] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:464 
  at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty property, System.Object value, Xamarin.Forms.Internals.SetValueFlags attributes, Xamarin.Forms.BindableObject+SetValuePrivateFlags privateAttributes) [0x00173] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:400 
  at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindableProperty property, System.Object value, System.Boolean fromStyle, System.Boolean checkAccess) [0x00042] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:335 
  at Xamarin.Forms.BindableObject.SetValue (Xamarin.Forms.BindablePropertyKey propertyKey, System.Object value) [0x0000e] in D:\a\1\s\Xamarin.Forms.Core\BindableObject.cs:319 
  at Xamarin.Forms.VisualElement.set_Y (System.Double value) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:556 
  at Xamarin.Forms.VisualElement.set_Bounds (Xamarin.Forms.Rectangle value) [0x00050] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:408 
  at Xamarin.Forms.VisualElement.Layout (Xamarin.Forms.Rectangle bounds) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:779 
  at Xamarin.Forms.Layout.LayoutChildIntoBoundingRegion (Xamarin.Forms.VisualElement child, Xamarin.Forms.Rectangle region) [0x001da] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:157 
  at Xamarin.Forms.Grid.LayoutChildren (System.Double x, System.Double y, System.Double width, System.Double height) [0x00144] in D:\a\1\s\Xamarin.Forms.Core\GridCalc.cs:49 
  at Xamarin.Forms.Layout.UpdateChildrenLayout () [0x00158] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:239 
  at Xamarin.Forms.Layout.OnSizeAllocated (System.Double width, System.Double height) [0x0000f] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:203 
  at Xamarin.Forms.VisualElement.SizeAllocated (System.Double width, System.Double height) [0x00000] in D:\a\1\s\Xamarin.Forms.Core\VisualElement.cs:869 
  at Xamarin.Forms.Layout.ResolveLayoutChanges () [0x00069] in D:\a\1\s\Xamarin.Forms.Core\Layout.cs:374 
  at Xamarin.Forms.Platform.Android.Platform+DefaultRenderer.OnMeasure (System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x0000f] in D:\a\1\s\Xamarin.Forms.Platform.Android\Platform.cs:1319 
  at Android.Views.View.n_OnMeasure_II (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 widthMeasureSpec, System.Int32 heightMeasureSpec) [0x00008] in <7d2292394f8c488b97f5bc2a0ac0240d>:0 
  at (wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.36(intptr,intptr,int,int)

mduchev أدرك أن اسم الاستثناء هو نفسه ولكن هذا النوع من الاستثناء يشبه NullReferenceException. كل واحد هو سبب مختلف. الشخص الذي تواجهه لن يكون مرتبطًا بهذا.

إذا كان بإمكانك إنشاء مشكلة جديدة باستخدام repro ، فسيكون ذلك مفيدًا

mduchev هل ترى

mduchev لقد لاحظت أن الاستثناء الخاص بك قادم من عارض مخصص

إذا كنت تستخدم فقط العارض الخاص بنا ، فهل ترى نفس الاستثناء؟

قد تحتاج إلى التحقق مما إذا كان قد تم التخلص من FrameRenderer وعدم الاتصال بهذا الرمز

at Test.Droid.Renderers.TestFrameRenderer.UpdateFrame (Test.Views.Controls.TestFrame frameElement) [0x00001] in ...Test.Android\Renderers\TestFrameRenderer.cs:50 
  at Test.Droid.Renderers.TestFrameRenderer.OnElementPropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e) [0x0001f] in ...\Test.Android\Renderers\TestFrameRenderer.cs:44 

PureWeen قد تكون مشكلة أخرى ، لا يمكنني الجزم بذلك. أرى ObjectDisposedException ، وكما قلت ، أحيانًا ، الاستثناء هو ObjectDisposedException لـ FastRenderers.LabelRenderer (لنفس التدفق!).
للأسف ، لا يمكنني تحميل repro. سأحاول إنشاء واحدة واختبارها باستخدام الإطار الذي يغلف الملصق.
لقد جربت للتو 4.8.0.1560 والاستثناء موجود. لقد اختبرت أيضًا وتأكدت من ذلك باستخدام 4.7.0.1351 و 5.0.0.1558-pre3.

mduchev أو هل يعرف أي شخص لماذا سيتم إصدار الإصدار 5 من Xamarin قائلاً إن هذه المشكلة قد تم إصلاحها ولكنها لا تزال تحدث؟ لم أستطع أن أفهم.

حتى عند استخدام هذا السطر Forms.SetFlags (" UseLegacyRenderers ") في المشروع ، يحدث استثناء مع ObjectName:
Xamarin.Forms.Platform.Android.AppCompat.FrameRenderer

بدون سطر للإشارة ، يكون للاستثناء اسم الكائن هذا:
Xamarin.Forms.Platform.Android.FastRenderers.FrameRenderer

TsplayerT أعتقد أن المشكلة التي نراها (استثناء FrameRenderer) هي مشكلة منفصلة. المشكلة الرئيسية - قد تكون المشكلة مع LabelRenderer قد تم إصلاحها بالفعل ، ولكن هناك خطأ مشابه يحدث مع FrameRenderer. لاحظت أيضًا الاستثناء الجديد فقط عندما أستخدم شيئًا داخل الإطار. لسوء الحظ ، لا يمكنني تحديد التخطيط الدقيق والخطوات التي تؤدي إلى تعطل التطبيق. إذا استطعت ، يرجى تقديم مشروع نموذج وفتح مشكلة جديدة لاستثناء الإطار.

ZeProgFactory شكرًا لك على الحل الأمثل لأشخاص مثلي ، الذين لا يستطيعون التحديث إلى أحدث إصدار Xamarin ، بسبب الكثير من المشكلات ، التي لا تزال معلقة لتتم إضافتها إلى سباق معين حتى ...

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