منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ملفات الدوت نت Dot Net مفتوحة المصدر Open Source
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : silverlight

ملفات الدوت نت Dot Net مفتوحة المصدر Open Source
فيجوال استوديو 2008 فقط

الأن تستطيع الإطلاع علي Source Code الخاص بملفات الدوت نت حيث مؤخرا أتاحت مايكروسوفت لمستخدمي الفيجوال استوديو نسخة 2008 فقط إمكانية الإطلاع علي الكود الخاص ببعض ملفات الدوت النت
طرحت مايكروسوفت مؤخرا ملف وهو عبارة عن HotFix واسم الملف VS90-KB944899.exe في واقع الأمر عندما قام برنامج التحديث التلقائي أو Automatic Windows Update بإنزال الملف علي جهاز الكمبيوتر الخاص بي لم اهتم كثيرا واعتبرت أن الملف ما هو إلا ملف أخر لتحديث ملفات النظام Operating System لكن بعد بضعة أيام كنت أبحث عن ملف معين علي جهاز الكمبيوتر وهنا توقفت لحظيا عند اسم الملف حيث لاحظت أن اسم الملف يبدأ بالحروف VS90 وقررت أن أعرف ما الهدف من هذا الملف وهنا قمت بقليل من البحث علي النت لأعرف الغرض من هذا الملف وأذهلني ما اكتشفت حيث أن هذا الملف وحجمه حوالي 3.5 ميجا يتيح لمستخدمي الفيجوال استوديو 2008 بإمكانية الاطلاع علي الكود الخاص لبعض ملفات الدوت نت الموجودة في الأسمبلي لتالية
• Mscorlib.DLL
• System.DLL
• System.Data.DLL
• System.Drawing.DLL
• System.Web.DLL
• System.Web.Extensions.DLL
• System.Windows.Forms.DLL
• System.XML.DLL
• Microsoft.VisualBasic.DLL
• WPF (UIAutomation*.dll, System.Windows.DLL, System.Printing.DLL, System.Speech.DLL, WindowsBase.DLL, WindowsFormsIntegration.DLL, Presentation*.dll, some others)

كيف نجهز الفيجوال استوديو لكي نستطيع الإطلاع علي الكود الخاص ببعض ملفات الدوت نت؟

عليك بإنزال ملف HotFix ثم عمل Install له علي جهازك حيث يقوم هذا الملف بعمل تحديث لعض ملفات Visual Studio Debugger’s ولمزيد من التفاصيل عن هذا الملف وأيضا لإنزال الملف يمكنك الإطلاع علي اللينك التالي

https://connect.microsoft.com/Visual...&wa=wsignin1.0

والخطوات التالية توضح كيفية تجهيز الفيجوال استوديو لاستقبال الكود الخاص بملفات الدوت نت وعموما الخطوات واحدة بالنسبة لمستخدمي الفيجوال بيسك والفيجوال #C

1- : بعد تركيب الملف عليك فتح الفيجوال استوديو 2008 ومن قائمة Tools عليك اختيار Options
2- : هنا ستفتح لك نافذة ومنها وتحديدا من TreeView الموجودة علي يسارك بهذه النافذة عليك أن تختار Debugging
3-: ومن تحت Debugging اختار General ثم من TreeView الموجودة علي اليمين عليك اختيار Enable Just My code (Managed only)
4-: ثم عمل uncheck لها
5-: عليك أن تختار Enable source server support
6-: عمل Check لها
7-: ثم مرة أخري ومن TreeView الموجودة علي اليسار اختار Symbols من تحت Debugging أيضا
8-: ستجد باتون مكتوب عليه Browse وعلي يساره TextBox وهنا إما أن تحدد مسار موجود بالفعل علي جهازك لكي يتم إنزال الملفات التي سنحتاجها لاحقا أو يمكنك كتابة المسار الذي تريده وسيقوم الفيجوال استوديو بإنشاء الفهرس لك وهنا أنا كتبت المسار كالتالي C:\DotNetsource\omar\symbols أو يمكنك كتابة المسار الذي تريده
9-: ثم عليك عمل Ckeck للاختيار Search the above location only when symbols are loaded manually
10-: في اعلي يمين النافذة : ستجد أربعة باتون وهنا عليك أن تضغط علي أول باتون من جهة اليسار
11-: بعد الضغط علي الباتون ستجد مربعا صغيرا جاهزا للكتابة من خلاله حيث هنا عليك أن تضيف اللينك الخاص بتنزيل الملفات
12-: وهنا عليك أن تكتب اللينك التالي

http://referencesource.microsoft.com/symbols

لا تحاول إنزال الملفات مباشرة من اللينك لأنك لو حاولت ذلك لن تجد أي شئ وكل ما سوف تحصل عليه هو عبارة عن HTTP 400 (Bad Request) وبعد إضافة اللينك كل ما عليك أن تفعله هو الضغط علي الباتون Ok


إنزال ملفات الأسمبلي أو ملفات Symbols.pdb من موقع مايكروسوفت

بعد الانتهاء من الخطوات أعلاه يجب علينا أن نقوم بإنزال ملفات الأسمبلي من موقع مايكروسوفت وهنا عليك أن تكون متصلا مع الإنترنت وعملية إنزال الملفات لن تستغرق طويلا وعموما الوقت المطلوب لإنزال الملفات مرتبط بسرعة النت لديك والخطوات التالية توضح كيفية عمل ذلك وأيضا الخطوات واحدة بالنسبة لمستخدمي الفيجوال بيسك أو لمستخدمي الفيجوال #C
1-: افتح مشروع جديد وفي الحدث Load الخاص بالفورم اكتب الكود التالي وقبل تجربة البرنامج عليك أن تقوم بعمل Set Breakpoint لهذا السطر من الكود وهو هنا الكود Me.Text = “Dot net open source”

الكود بلغة #C


كود :
This.Text = "Dot net open source";
الكود بلغة VB


كود :
' بعد كتابة السطر التالي عليك عمل
' Set Breakpoint
' لهذا السطر من الكود
Me.Text = "Dot net open source"


2-: نضغط علي CTRL+ALT+C لكي تظهر لنا نافذة Call Stack وهنا نستطيع أن نري جميع الأحداث الموجودة في الفورم وستلاحظ أن كل سطر لونه Light Gray وهذا يدل أن الملفات لم يتم إنزالها بعد وكل ما عليك فعله هو اختيار أي حدث في هذه النافذة يبدأ بكلمة System.Windows.Forms ثم الضغط علي يمين الماوس وهنا ستظهر لك ContextMenu اختار منها Load Symbols أو يمكنك فقط عمل Double Click بالماوس علي أي سطر يبدأ بكلمة System.Windows.Forms حتى تبدأ عملية إنزال الأسمبلي System.Windows.Forms وهنا ستتجمد نافذة برنامج الفيجوال استوديو لفترة زمنية تعادل الوقت المطلوب لإنزال ملف Symbol من موقع مايكروسوفت وعند الانتهاء سيتحول لون بعض الأسطر الموجودة في نافذة Call Stack الي اللون الأسود وهذا يعني أن الملف أصبح موجودا بالفعل علي جهاز الكمبيوتر الخاص بك

3-: بعد الإنتهاء من إنزال ملف Symbols الخاص بالأسمبلي System.Windows.Forms ستجد أنه موجودا بالفعل تحت الفهرس الذي حددناه سابقا وهو عبارة عن ملف امتداده pdb وحجمه حوالي 10 ميجابايت
ولكي تستعرض الكود الخاص ببعض ملفات الدوت نت كل ما عليك أن تفعله هو ان تقوم بعمل Deubug مرة ثانية للكود أعلاه ولا تنسي أن تقوم بعمل Set Breakpoint لهذا السطر من الكود ثم عليك الضغط علي CTRL+ALT+C لكي تظهر لنا نافذة Call Stack مرة ثانية وهنا نستطيع أن نري جميع الأحداث الموجودة في الفورم وعندما نضغط Double Click أو باختيار أي من الأسطر في نافذة Call Stack والضغط علي يمين الماوس واختيار Load Symbols وهنا سوف تظهر لنا EULA وكل ما عليك أن تفعله هو أن توافق عليها وهنا سوف يتم السماح لك باستعراض بعض ملفات الدوت نت وبشكل عام EULA ستظهر لك مرة واحدة فقط ولن تظهر ثانية عند محاولتك استعراض أي من الملفات الأخري أو الأسمبلي الأخري

4-: ولكي تستطيع إنزال باق ملفات الأسمبلي مثل System.Drawing علي سبيل المثال كل ما عليك فعله هو أن تضغط علي CTRL+ALT+U وهنا ستظهر لك نافذة Module حيث ستجد بها جميع الموديول الموجودة داخل المشروع وعليك فقط أن تختار واحد من الأسمبلي التي كتبناها في بداية المقال ثم تضغط يمين الماوس وتختار Load Symbols وهنا ستتجمد نافذة الفيجوال استوديو مؤقتا حتى يتم أنزال الأسمبلي المطلوب وبنفس الأسلوب المتبع أعلاه علينا أن تكتب كود معين وعلي سبيل المثال وبما أننا نتحدث عن System Drawing كل ما عليك هنا هو أن تكتب مجموعة من الأكواد في الحدث Paint الخاص بالفورم مثلا مثل تعريف مستطيل أو رسم مستطيل وأيضا مثل تعريف فونت ما أو تعريف فرشاة Brush وأيضا تقوم بعمل Set Breakpoint ثم نذهب الي النافذة Call Stack ونختار الحدث Paint ونضغط Double Click وهنا سيبدأ الفيجوال استوديو في فتح الملف المناسب مثل Rectangle.cs و Font.cs الي أخره طبقا لما كتبت من الكود أو يمكنك كتابة مثل الكود التالي


الكود بلغة #C


كود :
Rectangle rect = new Rectangle(0, 0, 100, 100);
SolidBrush sb = new SolidBrush(Color.Aqua);
e.Graphics.FillRectangle(sb, rect);

الكود بلغة VB


كود :
Dim rect As New Rectangle(0, 0, 100, 100)
Dim sb As New SolidBrush(Color.Aqua)
e.Graphics.FillRectangle(sb, rect)
ولمن يريد المزيد من المعلومات يمكنه مراجعة بعض اللينك التالية فهي توضح الأمر بصورة مفصلة وتتحدث أيضا عن بعض Trouble Shooting التي من الممكن أن تواجهها أثناء تنزيل الأسمبلي أو استعراض الكود الخاص بملفات الدوت نت
http://codebetter.com/blogs/james.ko...rk-source.aspx

http://blogs.msdn.com/sburke/archive...urce-code.aspx

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


في المرفقات ستجدون الموضوع أعلاه وهو عبارة عن ملف Word وهو مدعما بالصور لشرح الموضوع كل ما عليك أن تفعله هو أن تقوم بإنزال الربع ملفات الموجودة بالمرفقات وتضعها معا تحت نفس الفهرس ثم تقوم بعمل UnRar لها وهنا ستحصل علي ملف واحد فقط للموضوع أعلاه وهو مدعما بالصور التوضيحية

بالتوفيق
أخوكم عمر