<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>NuGet | The .NET Blog</title><link>https://thedotnetblog.com/ar/tags/nuget/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ar</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 23 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ar/tags/nuget/index.xml" rel="self" type="application/rss+xml"/><item><title>إزالة حزم NuGet الزائدة في .NET 10 هي ذلك النوع من التحسين الذي تشعر به في كل مكان</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/nuget-package-pruning-dotnet-10-cleaner-restore/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/nuget-package-pruning-dotnet-10-cleaner-restore/</guid><description>تقلل إزالة حزم NuGet الزائدة في .NET 10 من تقارير الثغرات الزائفة، وتبسط مخطط الاستعادة، وتحسن أداء الاستعادة. إنها واحدة من تلك التغييرات المنصية التي تجعل العمل اليومي أفضل بصمت.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;تمت ترجمة هذه المقالة تلقائيًا. للحصول على النسخة الأصلية، &lt;a href="https://thedotnetblog.com/ar/news/emiliano-montesdeoca/nuget-package-pruning-dotnet-10-cleaner-restore/"&gt;انقر هنا&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;بعض تحسينات المنصة تكون مثيرة لأنها تفتح سيناريوهات جديدة.&lt;/p&gt;
&lt;p&gt;وتحسينات أخرى تكون مثيرة لأنها تجعل سير العمل الحالي أقل ضجيجًا، وأقل هشاشة، وأقل إزعاجًا.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;إزالة حزم NuGet الزائدة في .NET 10&lt;/strong&gt; تنتمي بوضوح إلى الفئة الثانية، وأقول ذلك على سبيل المديح.&lt;/p&gt;
&lt;h2 id="لماذا-هذا-مهم"&gt;لماذا هذا مهم&lt;/h2&gt;
&lt;p&gt;إذا كنت قد تعاملت من قبل مع ضجيج الثغرات الأمنية في الاعتمادات غير المباشرة، أو مع مخططات استعادة أكبر من اللازم، أو مع حزم موجودة تقنيًا لكنها ليست ذات صلة فعلية بوقت التشغيل الذي يستخدمه تطبيقك، فستشعر فورًا بأن هذا التغيير يعالج نقطة ألم حقيقية.&lt;/p&gt;
&lt;p&gt;تساعد الإزالة عبر حذف الحزم التي توفرها المنصة من مخطط الاعتمادية الفعلي عندما يكون وقت التشغيل يوفّرها بالفعل.&lt;/p&gt;
&lt;p&gt;وهذا يعني:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;تقارير أقل زائفة عن الثغرات الأمنية&lt;/li&gt;
&lt;li&gt;مخططات اعتمادية غير مباشرة أنظف&lt;/li&gt;
&lt;li&gt;عبء أقل على الاستعادة&lt;/li&gt;
&lt;li&gt;نتائج تدقيق أكثر قابلية للتنفيذ&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="رأيي"&gt;رأيي&lt;/h2&gt;
&lt;p&gt;هذا بالضبط نوع تحسينات .NET الذي أحبه.&lt;/p&gt;
&lt;p&gt;إنه يجعل القيم الافتراضية أفضل، ويقلل العبء الذهني، ويحسن في الوقت نفسه جودة الإشارة الأمنية وسلوك الأدوات اليومي.&lt;/p&gt;
&lt;p&gt;هذا فوز حتى لو لم يصل أبدًا إلى شريحة في keynote.&lt;/p&gt;
&lt;p&gt;المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/dotnet/nuget-package-pruning-in-dotnet-10/"&gt;NuGet Package Pruning: Cleaner Dependencies and Actionable Vulnerability Reports&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Azure SDK أبريل 2026: AI Foundry 2.0 وما يجب أن يعرفه مطورو .NET</title><link>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ar/news/emiliano-montesdeoca/azure-sdk-april-2026-ai-foundry-2-stable/</guid><description>إصدار Azure SDK لأبريل 2026 يشحن Azure.AI.Projects 2.0.0 المستقر مع تغييرات جوهرية كبيرة، وإصلاحات أمان حاسمة لـ Cosmos DB، وموجة من مكتبات Provisioning الجديدة لـ .NET.</description><content:encoded>&lt;p&gt;غالبًا ما يمر إصدارات SDK الشهرية دون اهتمام. لكن هذا الإصدار يحتوي على بعض الأشياء التي تستحق الانتباه — خاصة إذا كنت تبني باستخدام AI Foundry أو Cosmos DB في Java أو تقوم بتوفير البنية التحتية من كود .NET.&lt;/p&gt;
&lt;h2 id="azureaiprojects-200--تغييرات-جوهرية-منطقية"&gt;Azure.AI.Projects 2.0.0 — تغييرات جوهرية منطقية&lt;/h2&gt;
&lt;p&gt;حزمة NuGet &lt;code&gt;Azure.AI.Projects&lt;/code&gt; تصل إلى الإصدار المستقر 2.0.0 مع بعض التغييرات المعمارية الهامة. إذا كنت تستخدم المعاينة بالفعل، إليك ما تغير:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;تقسيم مساحات الأسماء&lt;/strong&gt;: Evaluations انتقلت إلى &lt;code&gt;Azure.AI.Projects.Evaluation&lt;/code&gt;، وعمليات الذاكرة انتقلت إلى &lt;code&gt;Azure.AI.Projects.Memory&lt;/code&gt;. عبارات using الخاصة بك ستحتاج إلى تحديث.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;أنواع معاد تسميتها&lt;/strong&gt;: &lt;code&gt;Insights&lt;/code&gt; ← &lt;code&gt;ProjectInsights&lt;/code&gt;، &lt;code&gt;Schedules&lt;/code&gt; ← &lt;code&gt;ProjectSchedules&lt;/code&gt;، &lt;code&gt;Evaluators&lt;/code&gt; ← &lt;code&gt;ProjectEvaluators&lt;/code&gt;، &lt;code&gt;Trigger&lt;/code&gt; ← &lt;code&gt;ScheduleTrigger&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;اتفاقيات التسمية&lt;/strong&gt;: خصائص Boolean تتبع الآن اتفاقية &lt;code&gt;Is*&lt;/code&gt; بشكل متناسق&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;هذه هي أنواع التغييرات الجوهرية التي تؤلم مرة واحدة ثم تبدو صحيحة إلى الأبد. إذا كنت تبني على المعاينة، حدث الاستيرادات الخاصة بك ودع المترجم يوجهك للباقي.&lt;/p&gt;
&lt;p&gt;الخبر السار: إنه مستقر. يمكنك بالفعل الاعتماد على هذه API الآن.&lt;/p&gt;
&lt;h2 id="cosmos-db-java-إصلاح-أمان-حاسم-rce"&gt;Cosmos DB Java: إصلاح أمان حاسم (RCE)&lt;/h2&gt;
&lt;p&gt;هذا جدي. مكتبة Java Cosmos DB (&lt;code&gt;azure-cosmos&lt;/code&gt;) الإصدار 4.79.0 تتضمن إصلاح أمان حاسم لثغرة &lt;strong&gt;تنفيذ تعليمات برمجية عن بعد (CWE-502)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;المشكلة كانت إلغاء تسلسل Java في &lt;code&gt;CosmosClientMetadataCachesSnapshot&lt;/code&gt; و &lt;code&gt;AsyncCache&lt;/code&gt; و &lt;code&gt;DocumentCollection&lt;/code&gt;. الإصلاح يستبدل إلغاء تسلسل Java بالتسلسل المستند إلى JSON، مما يلغي فئة كاملة من هجمات إلغاء التسلسل.&lt;/p&gt;
&lt;p&gt;إذا كان لديك أي خدمات Java تستخدم Azure Cosmos DB، حدث إلى 4.79.0 فورًا. هذا ليس اختياريًا.&lt;/p&gt;
&lt;h2 id="مكتبات-provisioning-جديدة-لـ-net"&gt;مكتبات Provisioning جديدة لـ .NET&lt;/h2&gt;
&lt;p&gt;موجة من مكتبات Provisioning المستقرة وصلت إلى 1.0.0 هذا الشهر — هذه هي المكتبات التي تتيح لك تعريف البنية التحتية لـ Azure في كود C# بدلاً من قوالب ARM أو Bicep:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nuget.org/packages/Azure.Provisioning.Network/1.0.0"&gt;Azure.Provisioning.Network 1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nuget.org/packages/Azure.Provisioning.PrivateDns/1.0.0"&gt;Azure.Provisioning.PrivateDns 1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;العديد غيرها في beta.1، تغطي API Management و Batch و Compute و Monitor و MySQL و Security Center. إذا كنت تقوم بالبنية التحتية ككود من .NET — خاصة مع عمليات نشر Aspire — هذه المكتبات هي نقطة الدخول الخاصة بك.&lt;/p&gt;
&lt;h2 id="azure-ai-agents-java-200-ga"&gt;Azure AI Agents Java: 2.0.0 GA&lt;/h2&gt;
&lt;p&gt;مكتبة Java Azure AI Agents تصل أيضًا إلى التوفر العام هذا الشهر. التغييرات الجوهرية الرئيسية:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;عدة أنواع enum تم تحويلها إلى فئات قائمة على &lt;code&gt;ExpandableStringEnum&lt;/code&gt; (أكثر مرونة للقيم الجديدة)&lt;/li&gt;
&lt;li&gt;فئات نموذج &lt;code&gt;*Param&lt;/code&gt; أعيدت تسميتها إلى &lt;code&gt;*Parameter&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MCPToolConnectorId&lt;/code&gt; ← &lt;code&gt;McpToolConnectorId&lt;/code&gt; (حروف متسقة)&lt;/li&gt;
&lt;li&gt;تحميل زائد جديد مناسب لـ &lt;code&gt;beginUpdateMemories&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="خلاصة"&gt;خلاصة&lt;/h2&gt;
&lt;p&gt;العنوان الرئيسي لمطوري .NET هذا الشهر هو وصول &lt;code&gt;Azure.AI.Projects 2.0.0&lt;/code&gt; إلى الاستقرار — إذا كنت تبني باستخدام AI Foundry، الآن هو الوقت لتثبيت الإصدار المستقر وتحديث الاستيرادات الخاصة بك. لمتاجر Java التي تستخدم Cosmos DB، التحديث الأمني عاجل.&lt;/p&gt;
&lt;p&gt;ملاحظات الإصدار الكاملة في &lt;a href="https://aka.ms/azsdk/releases"&gt;aka.ms/azsdk/releases&lt;/a&gt;. المقال الأصلي: &lt;a href="https://devblogs.microsoft.com/azure-sdk/azure-sdk-release-april-2026/"&gt;Azure SDK Release (April 2026)&lt;/a&gt;.&lt;/p&gt;</content:encoded></item></channel></rss>