تكرار السؤال: …
الإجابة المختصرة
تترجم الكود مباشرة إلى ملف تنفيذي أصلي للآلة دون الحاجة لوجود مجمع JIT أو تثبيت .NET Runtime، مما يقلل زمن البدء واستهلاك الذاكرة ولكن مع قيود على Reflection.
الشرح
في Native Ahead-Of-Time (AOT)، يتم تقليم الأكواد غير المستخدمة (Trimming) وتجميع كامل التطبيق إلى ملف تنفيذي ذاتي مستقل بحجم صغير جداً. المكاسب هائلة لوظائف الـ Serverless والحاويات المصغرة حيث يقل زمن الإقلاع لعشرات المللي ثوانٍ ويقل استهلاك الرام للنصف. القيد الأبرز هو حظر توليد الأكواد الديناميكية وReflection غير المتوافق مع التحليل الساكن.
مثال بالكود
<PropertyGroup>
<PublishAot>true</PublishAot>
</PropertyGroup>أخطاء شائعة
- محاولة نشر تطبيق يعتمد على مكتبات قديمة تستخدم Reflection كثيف كـ Native AOT دون استبدالها بـ Source Generators.