English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية 
.NET
Colin Fahey

1. تعريف .NET

".NET" مصطلح يشير إلى مجموعة من التكنولوجيات التالية :
(1) Framework Class Library (FCL)
(2) Intermediate Language (IL)
(3) Common Language Runtime (CLR)

1.1 Framework Class Library (FCL)

وقد Framework Class Library (FCL) هو مجموعة واسعة من فئات لدعم :
* الحاويات (Array, String, List, ...)
* Multithreading (الخيوط ، والخيوط ومجمعات)
* الربط الشبكي (المقابس ، والبروتوكولات ، والعملاء ، وخدمة الشبكه)
* ملف العمليات
* جداول البيانات
* تحليل (التعابير العاديه ، XML المناوله)
* عمليات الرياضيات
* التعامل مع استثناء
* اللغة ميزات (التفكير ، كومة تعقبها قانون الديناميه)
وقد Framework Class Library (FCL) لتنفيذ العديد من المنابر المختلفة ( Windows, Linux, MacOS, ...  ).
وهكذا ، فان برنامج واحد والذي يستخدم Framework Class Library (FCL) يمكن ان تكون كبيرة وضعت دون معرفة الفروق بين المنصات المستهدفة.
وقد Framework Class Library (FCL) يتضمن نماذج مفيدة من المفاهيم الاساسية للعلوم الكمبيوتر (مثل "الخيوط والمقبس" ، "والدفق" ، الخ).
في الشعور ، والذي يمنح كل Framework Class Library (FCL) نظام التشغيل الحديثة ، الرفيع المستوى ، بما يتسق واجهة البرمجه.
وقد Framework Class Library (FCL) هو واحد من اكثر تقدما ، شاملة ، موحدة التصميم ، موثقه توثيقا جيدا وظائف ومجموعات من انواع البيانات المتاحة للمبرمجين.
وللأسف ، فإن الوسائط المتعددة الجوانب التالية ليست جزءا من Framework Class Library (FCL) : تسجيل صوتي ، واعادة السمعيه ، تسجيل فيديو ، عرض الفيديو ، مما يجعل ثلاثية الابعاد ، ذراع التحكم المدخلات ، جهاز مراقبة ( CD/DVD, ...  ) ، الخ.
Microsoft له .NET نسخة من DirectX مكتبات Windows لنظام التشغيل.
وهناك C# الاغلفه لOpenGL ، OpenAL ، GLUT ، SDL ، الخ ، لكن هذه ليست مريحه تماما كما أن لها وظائف متعددة الوسائط مثل هذه ان تدرج في Framework Class Library (FCL) والاساسية المدرجه في المستعمل مكتبات "وقت التشغيل."
واحدة من المشاكل الناميه ولا سيما البرامج التي تستخدم مكتبات المقصود هو ان مجموعة من المستخدمين النهائيين وسوف يتطلب ذلك لاختيار المكتبات.
اذا لم تكن مريحه لتنزيل وتركيب ما يلزم المكتبات ، والمستخدم النهائي قد تختار استخدام البرنامج لا تتطلب هذه المكتبات.
المستخدم النهائي ويمكن ايضا ان تحجم عن الانتظار لمكتبة لتحميل من موقع على شبكة الانترنت.
اذا كان مطور البرنامج يتطلب وجود المستعمل لايجاد وحيازه ، وتثبيت المكتبات ، وكل ذلك دون اي مساعدة من برنامج معين ، ثم المستعمل قد تختار عدم استخدام البرنامج.
فعلى سبيل المثال ، العديد من المشاريع المفتوحه المصدر تحتاج الى المستخدمين النهائيين لإيجاد ، تنزيل ، وتركيب ، كثيرة مختلفة عن غيرها من المكتبات المفتوحه المصدر المشاريع (مثلا : openssl ، zlib ، libpng ، libjpg ، glut ،...)، وهو الوقت مستهلكة ، تعقيدا ، الاحباط ، ويمكن ان يؤدي الى اختيار المستخدمين النهائيين للبحث عن البرامج البديله او المنتجات.
وقد يبدو "Windows Update" الخدمة 1.1 يساعد على نشر نسخة من .NET مكتبات وقت التشغيل لWindows المستخدمين.
وقت التشغيل هذه المكتبات وشملت Windows XP مع نظام التشغيل.
ولذلك ، خلق Windows البرامج التي تتطلب .NET 1.1 ويبدو من المعقول تماما.
كذلك ، فإن وقت التشغيل لمكتبات Microsoft's التطبيقات من .NET Framework Class Library (FCL) قد يكون إعادة توزيع بحرية ، بحيث يمكن للمطورين توريد هذه المكتبات على المستخدمين النهائيين من لا يملكون مكتبات.
وقد Windows Vista نظام تشغيل السفن مع .NET 3.0 مكتبات زمن التشغيل (مزيج من .NET Framework Class Libraries وعدة مكتبات جديدة مثل "Windows Presentation Foundation" (WPF)).
ولذلك ، نشر .NET 2.0 و.NET 3.0 برامج لWindows Vista لا يتطلب التركيب ل.NET مكتبات وقت التشغيل.

1.2 Intermediate Language (IL)

وقد Intermediate Language (IL) هي مجموعة صغيرة من بسيطة ، معالج المستقلة ، التي تعمل على النظم المستقلة بالتعليمات التي تعد كافية تماما للتعبير عن هياكل البيانات ومهام عديدة مختلفة رفيعة المستوى لغات البرمجه ( C++, C#, F#, Visual Basic, Java, Ocaml, ...  ).
كتب في شفره المصدر رفيع المستوى ان اللغة يمكن ان يتم تجميع نزولا الى مناظرة "Intermediate Language" شكل من الاشكال.
"Intermediate Language" المدونه في شكل يمكن بسهولة ان يقترن شفره اخرى في "Intermediate Language" شكل من الاشكال.
برنامج كمبيوتر (يسمى ايضا "البرمجيات" (شفره المصدر ويمكن ان تشمل عدة كتب في مختلف لغات رفيعة المستوى (على سبيل المثال ، C# ، C++ ، وVisual Basic).
شفره المصدر كل ما يمكن (تحويلها) الى "Intermediate Language" صيغة الجمع ، تسمح بسهولة مع غيره من تجميع المدونه.
برامج في شكل "Intermediate Language" عادة تحويلها الى الآلة تعليمات محددة (على سبيل المثال ، تعليمات CPU) في وقت قريب جدا قبل التنفيذ (على سبيل المثال ، "Just-In-Time" (JIT) تحويل IL لتعليمات CPU).
ولكن يمكن ايضا ان البرنامج ينفذ في سياق أ Virtual Machine (VM) تهدف الى تفسير Intermediate Language (IL) التعليمات.
قانون المكتوبة في مختلف اللغات رفيع المستوى ( C#, F#, Ocaml, C++, Visual Basic, ...  ) ، ما يمكن لIntermediate Language (IL) شكل مناسب باستخدام المجمع على اي دعم منهاج ( Windows, Linux, MacOS X, ...  ) ، والملف الناتج ، ويوجد بداخلها Intermediate Language (IL) المدونه ، هو منهاج المستقلة ويمكن تنفيذها على اي منصة لها تنفيذ برنامج .NET Common Language Runtime (CLR).
وقد ولدت Intermediate Language (IL) المدونه من قبل المجمع هو اساسا من منهاج المستقلة التي المجمع وتم تنفيذ الحكم.

1.3 Common Language Runtime (CLR)

وقد Common Language Runtime (CLR) هي الاليه المسءوله عن تنفيذ القانون المقدم في شكل Intermediate Language (IL).
وقد Common Language Runtime (CLR) عروض الخدمات المختلفة.
وقد Common Language Runtime (CLR) مايو Intermediate Language (IL) تحويل المدونه الى ان منهم من تعليمات لمنهاج (على سبيل المثال ، تعليمات CPU).
التحويل من Intermediate Language (IL) الى منهاج محدد (على سبيل المثال ، CPU الخاصة) تعليمات يمكن ان يحدث في اي حكم بالاعدام من قبل (أي ان يكون التحويل "Ahead-Of-Time" (AOT)) ، أو قد يحدث تدريجيا ، كما ينفذ البرنامج (اي تحويل "Just-In-Time" (JIT)) .
فإن تحويل Just-In-Time (JIT) يمكن استخدام احصاءات عن تطور تنفيذ البرنامج الامثل لديناميكيه تحول القانون (على سبيل المثال : - تحديد وكثيرا ما تستخدم الحلقات والفروع ، والأمثل لها وفقا لاحظ السلوك (الذي في حد ذاته يعتمد على البيانات الحالية والأحداث)).
وقد Common Language Runtime (CLR) يدير بالنيابة عن الذاكرة المخصصه للبرنامج.
ولذلك ، فإن CLR يضمن ان البرنامج لا تفشل للوصول الى الذاكرة وفي حين ان الاشارات المخصصه لهذه الذاكرة لا تزال قائمة ، ويضمن ان يتم الغاء مخصصات الذاكرة ، والذاكرة هو ان تتاح مرة اخرى في المستقبل بعد ان مخصصات البرنامج يتصرف في جميع الاشارات الى هذه المخصصات .
وقد Common Language Runtime (CLR) عندما يكتشف البرنامج لم يعد لديه اشارة الى تخصيص الذاكرة ، والذاكرة لتخصيص يتسم deallocation.
وقد Common Language Runtime (CLR) تستخدم اى من مجموعة متنوعة من "جمع القمامه" الخوارزميات (على سبيل المثال : "mark-and-sweep") لتحديد واستعادة الذاكرة لبنات لم يعد يمكن الوصول اليها من قبل البرنامج.
وقد Common Language Runtime (CLR) يعالج برنامج الاستثناءات.
وقد Common Language Runtime (CLR) يفرض السياسات الامنية.
وقد Common Language Runtime (CLR) يستخدم "P/Invoke" اليه لتحميل منهاج محدد والمكتبات والاحتجاج (الكلمه) وظائف داخل هذه المكتبات.

2. .NET ( FCL, IL, CLR ) التنفيذ من قبل Microsoft

2.1 مقدمة

.NET فإن النموذج ( FCL, IL, CLR ) نفذت Microsoft.
الاصدار الأخير ، "3.0" ، اطلق سراحه في 2006.10.
.NET 3.0 يتكون من عدة .NET 2.0 Framework Class Libraries ومكتبات جديدة ، مثل "Windows Presentation Foundation" (WPF) المرتبطه "Silverlight" (سابقا WPF/E ، Sparkle سابقا ،...) متصفح البرنامج المساعد لFirefox وInternet Explorer.
Microsoft يقسم .NET 2.0 البرمجيات في لاثنين من مجموعات مختلفة :
(1) .NET Framework Version 2.0 Redistributable Package
فان المطلوب هو صفقة لاعادة التوزيع من قبل المستخدمين النهائيين لتنفيذ برامج لبناء نموذج .NET.  هذه المجموعة ايضا يجب ان يتم تثبيت من قبل المطورين قبل تثبيت واستخدام .NET Software Development Kit (SDK) المذكورة ادناه.
(2) .NET Framework Version 2.0 Software Development Kit
تطوير البرامجيات مجموعة (SDK) مطلوب من قبل المطورين لتجميع C# شفره المصدر لIntermediate Language (IL) ملفات البرنامج.
وتتضمن هذه المجموعة من أدوات التنمية ومختلف الوثائق.

2.2 .NET Framework Version 2.0 Redistributable Package

فان المطلوب هو صفقة لاعادة التوزيع من قبل المستخدمين النهائيين لتنفيذ برامج لبناء نموذج .NET.
هذه المجموعة ايضا يجب ان يتم تثبيت من قبل المطورين قبل تثبيت واستخدام .NET Software Development Kit (SDK) المذكورة ادناه.
الإنترنت التالي الصفحه الرئيسية .NET تحميل الصفحه :
http://msdn.microsoft.com/netframework/downloads/updates/default.aspx
القسم المسمى ".NET Framework Version 2.0 Redistributable Package" ذو صلة لمدة ثلاث منصات الاجهزه : "Download x86 version" ، "Download x64 version" ، "Download IA64 version".
فعلى سبيل المثال ، وبعد وصلة "Download x86 version" ، يؤدي الى صفحة بعنوان "Microsoft .NET Framework Version 2.0 Redistributable Package (x86)"
(اسم الملف : dotnetfx.exe ؛ الاصدار : RC1 ؛ تاريخ النشر : 3/22/2006 ؛ اللغة : الانكليزيه ؛ حجم التحميل : 22.4 MB)
نسخة مخباه محليا (للاشارة فقط ؛ يحتمل ان عفا عليها الزمن) :
microsoft_dot_net_runtime_libraries_v2_0.exe
.NET Framework Version 2.0 Redistributable Package
23510720 بايت
MD5: 93a13358898a54643adbca67d1533462
(اسم الملف قد تغير من هنا اسم الملف الاصلي لل"dotnetfx.exe" لتجنب الخلط مع النسخه 1.1 المثبت اسمه ايضا "dotnetfx.exe".)

2.3 .NET Framework Version 2.0 Software Development Kit (SDK)

تطوير البرامجيات مجموعة (SDK) مطلوب من قبل المطورين لتجميع C# شفره المصدر لIntermediate Language (IL) ملفات البرنامج.
وتتضمن هذه المجموعة من أدوات التنمية ومختلف الوثائق.
الإنترنت التالي الصفحه الرئيسية .NET تحميل الصفحه :
http://msdn.microsoft.com/netframework/downloads/updates/default.aspx
القسم المسمى ".NET Framework Version 2.0 Software Development Kit" ذو صلة لمدة ثلاث منصات الاجهزه : "Download x86 version" ، "Download x64 version" ، "Download IA64 version".
فعلى سبيل المثال ، وبعد وصلة "Download x86 version" ، يؤدي الى صفحة بعنوان ".NET Framework 2.0 Software Development Kit (SDK) (x86)"
(اسم الملف : setup.exe ؛ الاصدار : 2.0 ؛ تاريخ النشر : 11/7/2005 ؛ اللغة : الانكليزيه ؛ حجم التحميل : 354.0 MB)
نسخة مخباه محليا (للاشارة فقط ؛ يحتمل ان عفا عليها الزمن) :
microsoft_dot_net_sdk_v2_0.exe
.NET Framework Version 2.0 Software Development Kit (SDK) (x86)
371230904 بايت
MD5: 1a52cb6000c4390b6265671e031f9d64
(اسم الملف قد تغير من هنا اسم الملف الاصلي لل"setup.exe" لتجنب الخلط مع جميع ملفات اخرى تركيب اسمه "setup.exe".)

3. Microsoft Visual C# : برنامج Integrated Development Environment (IDE)

3.1 مقدمة

وهو برنامج Integrated Development Environment (IDE) تمكن المطور لتعديل شفره المصدر وتنفيذ مختلف الادوات (امثلة : المجمع ، منقح ،...) في سياق واحد ، توحيد البرنامج ، مليءه مفيدة البصريه والاشارات والضوابط.
"Microsoft Visual C# 2005 Express Edition" هو دون تكلفة (اي الدفع المطلوبة) IDE المتاحة للتحميل من Microsoft.
لعدم وتطوير قواعد البيانات ، يكاد يكون من المستحيل التمييز بين هذا دون تكلفة المنتج من نظيره التجزءه ، "Microsoft Visual C# 2005".
إنني كثيرا ما تستخدم المنتجات على حد سواء ، مهنيا وrecreationally ، وانا لم تكن قد لاحظت اي فرق عملي بين المنتجات.
microsoft_vcsharp_2005_express_ide.gif

3.2 وصلات رسمية

الموقع على الانترنت الصفحه الرئيسية :
http://msdn.microsoft.com/vstudio/express
وفيما يتعلق "Visual C# Express Edition" الصفحه :
http://msdn.microsoft.com/vstudio/express/visualcsharp
انقر على زر "Download Now" على الجانب الايمن من الصفحه لاختيار خيار التحميل.
(واحد طريقة لبدء البرنامج الذي سوف المثبت تحميل الملفات من خلال كل Microsoft التثبيت.
طريقة ثانية لتنزيل CD-ROM "ISO" صورة كاملة ، مما يسمح مستقبلا غير متصل التثبيت.
وقد ISO صورة ، "VCS.iso" (451,837,952 بايت ؛ CRC 55884F2C (32 بت لx86 الانجليزيه ، يمكن حرق CD-ROM الى "Nero 7 Ultra" باستخدام ، على سبيل المثال.  (

4. .NET ( FCL, IL, CLR ) التنفيذ من جانب Mono Project

4.1 مقدمة

.NET فإن النموذج ( FCL, IL, CLR ) قد نفذت من قبل المشاركين في المجموعة المعروفة Mono Project.

4.2 وصلات رسمية

موقع المشروع :
http://www.mono-project.com
برامج تحميل الصفحه :
http://www.mono-project.com/Downloads

4.3 محليا نسخة مخباه

محليا نسخة مخباه المثبت (للاشارة فقط ؛ يحتمل ان عفا عليها الزمن) :
mono-1.2.4-gtksharp-2.8.3-win32-3.exe
Mono 1.2.4 with Gtk# 2.8.3 Installer for Windows 2000 and above
51323790 بايت
MD5: 95cbd476c0555a9a40f47e58e2283cbe

4.4 .NET 2.0 التنمية مع Mono

"mcs" فإن المجمع ، والوثائق ، حتى تشرين الثاني / نوفمبر 2006 ، ومعظمها تتعلق C# 1.0 وFCL 1.1.
ومع ذلك ، فان المجمع "mcs" قادرة على تجميع C# 2.0 ان القانون لا يتضمن generics او القائم على السمات العامة ، ولكن يحد من API الى 1.0.
القيام الكامل C# 2.0 التنمية ، مع FCL 2.0 المكتبات ، واستخدام "gmcs" المجمع.
انظر الصفحه التالية Mono على الموقع :
http://www.mono-project.com/CSharp_Compiler

5. SharpDevelop : - مفتوح المصدر برنامج Integrated Development Environment (IDE)

5.1 مقدمة

Integrated Development Environment (IDE) وهو برنامج يسمح للمطور لتحرير شفره المصدر وتنفيذ مختلف الادوات (امثلة : المجمع ، منقح ،...) في سياق واحد ، توحيد البرنامج ، مليءه مفيدة البصريه والاشارات والضوابط.
SharpDevelop ممتازة ، والمفتوحه المصدر IDE برنامج لC# / .NET التنمية.
IDE هذا يشابه Microsoft Visual C# IDE ، و، في بعض النواحي ، SharpDevelop IDE قد تحسنت على Microsoft المنتج.
ومع ذلك ، فقد Microsoft Visual C# بعض الميزات (على سبيل المثال : تصحيح الاخطاء (SharpDevelop ان البرنامج ليس لديها (في وقت كتابة هذا التقرير).
sharp_develop_2_ide.gif

5.2 وصلات رسمية

البسيط الصفحه الرئيسية للموقع على شبكة الانترنت :
http://www.sharpdevelop.com
وفيما يتعلق "The Open Source Development Environment for .NET" الصفحه :
http://www.sharpdevelop.com/OpenSource/SD/Default.aspx
تحميل الصفحه ، التي من التفاصيل عن 1.1 و2.0 اصدارات SharpDevelop :
http://www.sharpdevelop.com/OpenSource/SD/Download

5.3 محليا نسخة مخباه

محليا نسخة مخباه المثبت (للاشارة فقط ؛ يحتمل ان عفا عليها الزمن) :
SharpDevelop2_2.0.1.1710_Setup.exe
SharpDevelop2 (2.0.1.1710)
4338287 بايت
MD5: 6626832c202a6c25a399c9e9081f20d4

6. من المفيد C# / .NET / ادوات IL

6.1 SciTech Software ".NET Memory Profiler"

dot_net_memory_profiler_graph.gif
dot_net_memory_profiler_table.gif
ويبين هذا المحلل مخصصات الذاكرة ، وغيرها من تخصيص الموارد ، ان تجميع .NET برنامج او المنفذة في حين ان يجعل من الجمعية.
في الوقت الحقيقي الرسم البياني شخص يمكن ان نرى ، بالتفصيل ، وكيفية اتخاذ اجراءات من هذا البرنامج (مثل الاجراءات الناجمة عن مدخلات المستخدمين او غيرها من الاحداث) تؤثر على الذاكرة توزيع وجمع القمامه.
في الوقت الحقيقي الجدول القائمة بغية تمكن اي شخص لمعرفة تفاصيل عن مخصصات الذاكرة.
هذا المحلل على الفور ، وبشكل كبير ، وكشفت الاسراف في استخدام الذاكرة في الوقت الحقيقي Direct3D البرنامج كنت قد وضعت.
وجود نمط من التصاعدي التعليات والمفاجءه قطرات (نظرا "لجمع القمامه)" في ذاكرة استخدام الرسوم البيانيه تطابق تماما مع الدوري ، مهل قصيرة جدا - في رسم ثلاثي الابعاد من برنامجي.
وقد اتاحت لي المحلل ليكتشف ان تكرار توزيع مؤقتة الاشياء هو تراكم الكثير من الذاكرة وراء جمع القمامه في كثير من الاحيان ، واتخاذ ما يكفي من الوقت لجمع القمامه في كل قضية لفترات قليلة السحب ينبغي تفويتها.
فإن المحلل في الوقت الحقيقي للالجدول المخصص للكشف عن وجوه انواع انواع الاشياء التي تستهلك اكثر الذاكرة ، والمخصصات التي تستهلك الذاكرة على أعلى نسبة (بايت في الثانية الواحدة) ، والمخصصات التي لديها أعلى معدل التخلص منها.
وتدرس في الوقت الحقيقي الرسوم البيانيه والجداول في الوقت الحقيقي ، ومكنني من التركيز على الطريقة التي تدرس في بعض انواع البيانات التي تستخدم في بلدي المدونه.
تعديل القانون لتجنب تكرار مخصصات مؤقتة من الاشياء يمكن ان يقلل كثيرا من المعدل العام للتخصيص الذاكرة والتخلص منها ، ويمكن بالتالي الحد من تواتر جمع القمامه وراء.
(واعتقد هو "Bytes/sec" جدا تكشف عن احصاءيه في الوقت الحقيقي لاستخدام الذاكرة ، بالاضافة الى "Live instances".
(رؤية كل من هذه ويجري استكمال سريع للغاية في شكل جداول ، والقدرة على اختيار طريقة هي مرتبة الصفوف ، وتغيير الفرز المعلمه في اي وقت ، ويجعل من تجربة الدراسه في الوقت الحقيقي البرنامج شيق جدا وغنية بالمعلومات.
ذاكرة تخصيص الردود على التفاعل مع المستخدم تشغيل البرنامج يمكن دراسة ، والاختبار يمكن ان تتكيف بسرعة الى اقتراحات لتضييق اكثر للاهتمام الجانب.
http://memprofiler.com/download.aspx
(على سبيل المثال ، 2006 July النسخه السمات التالية : نسخة 2.6.89 ؛ 4.3 MB ؛ USA $127.00 ؛ تحميل 14 يوما النسخه الحد ، دون اي تكلفة ، من اجل تقييمها.)

6.2 FxCop : .NET محلل شفره / الناقد

FxCop بتحليل تجميع .NET برنامج (تجميع أو الجمعية) ويولد تقريرا يتضمن قائمة المشاكل التي يمكن ان تواجهها شفره المصدر الأصلي.
ممكن مشاكل الاداء وتحديد المشاكل الامنية.
ممكن الترميز يتم تحديد انتهاكات الاتفاقية.
FxCop لا تحتاج الى الحصول على شفره المصدر الاصلي لاداء التحليل.
فقط تجميع .NET البرنامج (الذي يتضمن IL) امر مطلوب.
ومع ذلك ، فإن التقرير يقدم FxCop وصلات محددة لاعداد خط في قانون المصدر الأصلي.
واذا كان Microsoft Visual C# 2005 IDE نشطا ، بالضغط على وصلة الى FxCop في تقرير سيتسبب IDE الى الاعوجاج لملف المصدر ذات الصلة وعدد الخط.
وقد FxCop ، في رأيي ، الى حد ما بطريقة غير المريحه للدمج مع Microsoft Visual C# 2005 IDE.
ولكن ، بعد هذا الاعداد ، وتنتج FxCop مثيرة جدا للاهتمام - ويحتمل ان التقرير القيم.
ويتضمن التقرير نصائح مفصلة حول كيفية تحسين قانون المصدر الأصلي.
اعتقد انه يجدر بنا ان نحلل برنامج باستخدام FxCop على اساس دوري.
لا اتعجب اذا كان بعض المشاريع أو تطوير البرمجيات اللازمة لجميع الاعمال التي كتبها مدونة للمطورين تسفر عن اي تحذيرات او انتقادات من جانب FxCop.
قواعد يمكن ان تضاف او تحذف من FxCop قاعدة البيانات ، وفقا للاحتياجات.
FxCop هو المصدر المفتوح ، والحر البرنامج.
http://www.gotdotnet.com/team/fxcop

6.3 "Reflector for .NET" : decompiler / المحلل

Lutz Roeder's من موقع على شبكة الانترنت :
"Reflector is the class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows to easily view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL."
"Reflector" شخص يمكن ان تساعد دراسة كيفية طرف ثالث المكتبات الخطيه.
في بعض الاحيان وسيكون من المفيد جدا ان نعرف بالضبط كيف طريقة الجمعية في تنفيذه.
إذا كانت طريقة تصرف غير متوقعة أو بطريقة غامضة ، ثم "Reflector" يمكن استخدامها لتنفيذ انظر.
من خلال تنفيذ رؤية ، ويمكن ان تعمل مبرمج حول المشاكل الناجمة عن تطبيقات محددة من اساليب المكتبه.
قال لي صديق إن "Reflector" ساعدوه في معرفة المزيد عن سلوك الاساليب سيئة التوثيق في تنفيذ Microsoft من Framework Class Libraries (FCL).
"Reflector" قد يكون من المفيد عند مكتبه وثائق للطريقة تتكون من بضع كلمات فقط ، مثل "مجموعات قيمة الحدث" او "المعالج."
إذا كانت مكتبة وظيفة الاحتجاج الى الفشل لسبب غير معروف) وعندما يبدو ان جميع المعايير الصحيحه) ، ثم باستخدام "Reflector" للنظر في تنفيذ مهمة المكتبه قد تكشف عن سبب الاخفاق.
"Reflector" يؤدي بعض "الهندسه العكسيه" للبرنامج أو .NET الجمعية.
المنافع الاخرى ، بما فيها ربما "Reflector" نفسه ، يمكن ان يؤدي الى شفره المصدر لبرامج او جمعيات بني على اساس obfuscated شفره المصدر.
ومن الواضح ان هذا مصدر قلق بالنسبة لبعض المطورين والمستثمرين.
http://www.aisto.com/roeder/dotnet
(2006 July : Reflector.zip كانت النسخه 4.2.45.0)

7. شبكة الإنترنت ومنتديات المناقشه

Google البحث هي افضل وسيلة لايجاد اجابات على اسءله محددة بشأن أي موضوع ، إلا أن المواقع ادناه مرارا وتكرارا تظهر في نتائج البحث عن C# و.NET الاسءله.
المواقع ادناه رهيبه لاستكشاف العديد من الاشياء الراءعه فعلت مع الشعب C# و.NET.
"The Code Project" موقع الآلاف من المقالات ومفيد ، لC# ، C++ ، وغيرها من لغات البرمجه والنماذج.
http://www.codeproject.com
وقد "MSDN Code Gallery" الموقع العديد من المواد والعينات قانون Microsoft التكنولوجيات ذات الصلة.
http://code.msdn.microsoft.com
مواقع الانترنت ذات الصلة الاخرى لC# و.NET :
http://www.c-sharpcorner.com
http://www.dotnetfun.com
http://www.programmersheaven.com

8. ملاحظات عامة

8.1 منهاج الاستقلال

وقد Intermediate Language (IL) ، شأنها في ذلك شأن "قانون" Java "بايت" ، هو منهاج المستقلة.
اي .NET المتوافقه المجمع سوف تولد منهاج المستقلة Intermediate Language (IL) المدونه على شكل برامج او جمعيات.
برامج وتعبئتها على النحو برامج ("*.exe" ملفات (يجب ان يكون بعض منهاج محددة تعتمد على قانون لنظام التشغيل ، لغرض وتفسيرها بشكل صحيح كما اطلقت برامج للتنفيذ في اطار نظام تشغيل معين.
ومع ذلك ، فان القوميه للتنفيذ جزء من ملف البرامج لن يؤدي الا الى التمسك .NET CLR محرك ، وتقديم IL القانون الوارد في داخل البرنامج ملف للتنفيذ من قبل CLR محرك.
Microsoft عروض للتنفيذ من .NET المرافق) المجمع ،...)، وتنفيذ برنامج Framework Class Library (FCL) ، الا Windows لنظام التشغيل.
وقد Mono Project عروض تطبيقات .NET من المرافق) المجمع ،...)، والتطبيقات للFramework Class Library (FCL) ، لأنظمة التشغيل التالية : Windows ، Linux ، MacOS X ، وBSD.

8.2 بالمقارنة مع سرعة non-CLR C / C++

وقد Common Language Runtime (CLR) جانب من جوانب .NET هو السياق الذي ينفذ برنامج C# أ.
وقد يؤدي CLR "وجمع القمامه ،" ويمكن الاستناد الى برامج "غير المداره" في وظائف المكتبات (من جميع المكتبات التي لم تنفذ في Intermediate Language (IL)).
فان اي وظيفة لا اكثر من الرياضيات البحته ، نقيه الخيط التلاعب ، او نسخ الذاكرة النقيه ، وسوف تحتج "غير المداره" في وظائف المكتبات.
ملف لجميع العمليات ، المقبس العمليات ، عمليات الجر ، مساهمه عمليات (الماوس ولوحة المفاتيح) ، وعمليات الانتاج (console) ، منهاج الخيط العمليات ، ودقة توقيت العمليات ، عمليات وضع النوافذ ، وما الى ذلك ، سوف تحتج "غير المداره" في وظائف "المكتبات."
وللأسف ، فإن الاستناد اليه من وظائف "غير المداره" CLR يتطلب قدرا كبيرا من الوقت.
ولذلك ، فان سرعة تنفيذ البرنامج في سياق CLR من noticably ابطأ مما هو برنامج يمكن ان الاحتجاج "غير المداره" وظائف مباشرة.
لأنواع معينة من البرامج ، والسرعه يمكن ان تكون هامة.
لأنواع معينة من البرامج ، يمكن أن يجعل سرعة فارق هام فى التجربه الذاتية أو النفسية للشخص باستخدام برامج الحاسوب.
لأنواع معينة من البرامج ، بسرعة يمكن ان يحدث الفرق بين تحقيق الهدف والفشل.
Multithreading ، CPU بسرعة متزايدة ، وإدخال تحسينات على قانون CLR مرفق توليد ، وسيساعد البرامج المنفذة في اطار تنفيذ CLR اسرع.
ومع ذلك ، فان اي قانون ان ينفذ خارج CLR ، ويستند الى منهاج المكتبات مباشرة ، لا محالة ، بدرجه كبيرة اسرع من تنفيذ البرامج التي تنفذ ضمن اطار من CLR.
التأكيدات التي أدلى بها CLR الى C# البرمجيات ، مثل بأمان سد الفجوه بين القانون وغير المداره ادارة المدونه ، يأتي في التكاليف التي من المستبعد ان يتم تخفيضها.
وبالتالي ، فان اي برنامج يكون منهاج مكثفة جدا (مثلا : المحاكاه او لعبة ثلاثية الأبعاد ، ملف المعالج ، لخدمة الشبكه ، الخ) ومن المرجح ان التنفيذ الفعلي لحجم اسرع من خارج CLR عندما اعدم داخل CLR.
الفرق كبير.
ايضا ، اي ان البرنامج يؤدي الى قدر كبير من انخفاض مستوى التعامل مع البيانات بشكل اسرع بدرجه كبيرة ستنفذ خارج CLR من داخل CLR.
البرامج المنفذة في اطار تنفيذ CLR بالسرعه الكافية من اجل ان تكون مفيدة بالنسبة للعديد من الاغراض العملية.
كما CPU زيادة بسرعة ، وكما يأخذ القانون على نحو افضل ميزة متعددة CPUs والبرامج المنفذة في اطار CLR سوف تكون قادرة على ان تستخدم لمزيد من المهام التي تتطلب نسبة عالية من الحساب.
ومع ذلك ، في منتصف 2008 فان CLR لا تزال غير مناسبة للالعاب ثلاثية الأبعاد من اي تطور ، ما لم يكن للغاية العدوانية يبذل جهد للحد من عدد من وظيفة ويدعو الى المكتبه ثلاثية الابعاد (OpenGL او Direct3D) ، وربما عن طريق استخدام مفاهيم مثل "من يعمل على تقليل الضوء والبرامج وعرض القوائم" ؛ اي شيء للحد من عدد من يدعو الى وظيفة.
colinfahey.com
معلومات الاتصال
English  Español  Português  Français  Italiano  Deutsch  Nederlands  Svenska  Dansk  Suomi  Norsk  Русский  Polski  Română  Български  Hrvatski  Česky  中国  中國  日本語  한국어  Ελληνική  हिन्दी  العربية