سؤال

هل هناك طريقة لتفريغ .NET AppDomain من تطبيق غير مُدار؟

أنا أستخدم أداة طرف ثالث تسمى .NET Extender لاستخدام مجموعات .NET من داخل Visual Foxpro والتي تتيح لي استضافة عناصر التحكم .NET وكذلك الاستفادة من فئات .NET والأساليب من داخل بيئة FoxPro.

المشكلة التي أواجهها هي أنه عند تصحيح تطبيق ما من داخل Visual FoxPro ، فإنه يدير كل شيء ضمن ملف تطبيق VFP9 لذلك عندما أقوم بإجراء تغيير على مجموعات .NET هذه وأريد تحديثها ، يجب علي إغلاق VFP IDE وإعادة فتحها وإلا أحصل على انتهاك للمشاركة عند محاولة الكتابة فوق الملفات.

بدأت أبحث في طرق لضمان التخلص من الضوابط ولكن بعد ذلك صادفت هذا المقال لريك ستراهل حيث يصف بشكل أساسي أن المشكلة هي أن AppDomain الرئيسية لم يتم تفريغها. بعد النظر في معلومات حول كيفية تفريغ AppDomain الافتراضي ، توصلت إلى استنتاج مفاده أن هذا غير ممكن على الأقل من تطبيق مُدار ولكن هل من الممكن لتطبيق غير مُدار. أفكر هو أنه لمجرد أن تطبيقًا غير مُدار قد استخدم مورد .NET ، لا ينبغي أن يستمر في حمله حول AppDomain و Artime Pasting.

هل كانت مفيدة؟

المحلول

تم الرد على هذا السؤال على منتديات MSDN ولسوء الحظ ، يبدو أن هذا غير ممكن وأنه يجب إنهاء العملية لإصدار الموارد بما في ذلك مجالات التطبيق. هذا موصوف في وثائق لـ ICLRRUNTIMEHOST.STOP طريقة الواجهة حيث تنص على أن "هذه الطريقة لا تصدر الموارد إلى مضيف نطاقات التطبيق ، أو تدمير مؤشرات الترابط. يجب عليك إنهاء العملية لإصدار هذه الموارد."

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top