En. Mohammad Alyan 
@MhdAlyan
Course Outlines 
 Introduction to .NET Framework and How CLR Works. 
 Assembly (EXE ,DLL) How does it work 
 Attributes (meta Data). 
 Reflection in .NET 
 How To Publish your project 
 XML Manipulation . 
 ADO.NET From Novice to Professional 
 History of ADO.NET and old Techniques to Data Base Manipulation. 
 Examples for All SqL statements in C# 
 Advance Concepts in DB (Such as Transaction , Trigger and Stored 
Procedures) 
05 2 تشرين الثاني، 14
Course Outlines 
 Multithreading From Novice To Professional OS and Process Concepts. 
 Delegates. 
 All Operation at the Thread (start,stop,pause,resume). 
 Threads Synchronization Concepts. 
 Threads Synchronization implementation Techniques: 
 Using Lock. 
 Atomic Operations 
 Semaphore . 
 Mutex. 
 Monitor. 
05 3 تشرين الثاني، 14
Course Outlines 
 Deadlock How it happen and How To Avoid Deadlock in Multithreading 
Applications. 
 Parallel Programming Examples 
 Thread Pools Concepts and Example. 
 Memory management and Pointers in C# (unsafe Code) 
 Reference Type Vs Value Type . 
 Heap Vs Stack 
 Garbage Collector . 
 Release unmanaged Resources (such as Opened Files , DB Connections) 
 How To write unsafe Code in C#.` 
05 4 تشرين الثاني، 14
Course Outlines 
 Network Applications Programming With Sockets. 
 Networking Applications Models. 
 Client Server Model. 
 Socket Concepts . 
 Sequential Server. 
 Multithreaded Servers. 
 Resources Management 
 Thread Pool 
 Concepts for Asynchronous Programming Technique. 
 FTP Server . 
 Chat Server. 
05 5 تشرين الثاني، 14
Course Outlines  Discover System.Security.Cryptography(How To Ensure Secure Layer for our 
Applications) 
 Understand Security Objectives (Security Requirements) , Security 
Mechanism . 
 Explaining Security Requirements such as : 
 Confidentiality 
 Data Integrity 
 Availability 
 Authentications 
 None Repudiation . 
 Symmetric Encryption(Such as : AES) . 
 Asymmetric Encryption(Such as : RSA). 
05 6 تشرين الثاني، 14
Course Outlines 
 Hash Functions(Such as , MD5 ,SHA-n) 
 Entity Authentication (Such as : by Random Numbers !) 
 Digital Signature 
 PKI 
 CA 
05 7 تشرين الثاني، 14
When You relies The Concept , 
Every Thing Will Go Easy  
05 8 تشرين الثاني، 14
Homework (Course Project ) 
 
Airline Server 
Bank 
DB 
Airline 
DB 
Thread 
Client 5 Client 4 Client 3 Client 2 Client 1 
Secure channel 
Network 
Connection 
05 9 تشرين الثاني، 14
Homework (Course Project ) 
Resources Management Strategies 
05 10 تشرين الثاني، 14
Introduction to .NET Framework 
1- Assemblies
Outlines 
 Before .NET Framework 
 .NET Framework How it Works What is CLR ? 
 Managed Code Vs Unmanaged Code 
 Components 
 Components Advantages 
 Static Linking 
 DLL before .NET 
 DLL after .NET 
 DLL Vs EXE 
05 12 تشرين الثاني، 14
Outlines 
 .NET Assemblies and .NET Library 
 Overlap between the programming languages 
 Advantages offered by .NET. 
 Creating Assembly 
 Assemblyinfo.cs File 
05 13 تشرين الثاني، 14
Before .NET 
ملف تنفيذي لكل نظام تشغيل  ترجمة  شيفرة مصدرية  
المشاكل :  
البرنامج التنفيذي غير محمول على عدة أنظمة تشغيل.  
في حال أردنا تنفيذ البرنامج على نظام تشغيل أخر فإننا بحاجة إلى إعادة  
ترجمة الشيفرة المصدرية على النظام الجديد. 
05 14 تشرين الثاني، 14
.NET ,How it Works ? 
VB.NET Code C# Code 
إذا قمنا ببناء (EXE قد تكون ,Assembly تمثل مُجمّعة MSIL شيفرة 
)Class Library إذا قمنا ببناء (DLL ملف تنفيذي( أو 
JIT For Apple JIT For Linux JIT For Win 
شيفرة الآلة لنظام 
Windows التشغيل 
شيفرة الآلة لنظام 
Apple التشغيل 
شيفرة الآلة لنظام 
Linux التشغيل 
05 15 تشرين الثاني، 14
What is CLR ? 
تتضمن مجموعة من الخدمات .NET و هي عبارة عن محرك تنفيذي لتطبيقات الـ  
مثل: 
إدارة الذاكرة  
native code إلى MSIL تحويل كود الـ  
Exception Handling  
Debugging  
05 16 تشرين الثاني، 14
Managed Code Vs Unmanaged Code 
(CLR) شيفرة مُدارة من قبل الطبقة الوسطية  
التخلص من التعامل مع المؤشرات و عملية تحرير الأغراض المحجوزة ضمن  
. “Garbage Collector” الذاكرة عن طريق ما بعرف ب جامع النفايات 
الشيفرة غير المُدارة هي الشيفرة التي تتعامل فوراً مع نظام التشغيل .  
الشيفرة الغير المُدارة أسرع من الشيفرة مدارة .  
05 17 تشرين الثاني، 14
Components 
المكون : هو عبارة عن برنامج يحوي شيفرة تنفيذية وليس شيفرة مصدرية  
بإمكان البرامج الأخرى أن تستخدمه دون الحاجة إلى لإعادة ترجمة الشيفرة  
المصدرية ودون الحاجة لمعرفة الشيفرة المصدرية الخاصة بالمجمعة مما يوفر 
نوعا من الأمن . 
مكون ثنائي . DLL يمكن إعتبار ملف  
05 18 تشرين الثاني، 14
Components Advantages 
مزايا المكونات :  
إعادة استخدام البرامج الفرعية في برامج عديدة  
المجمعة التي قمت ببنائها يمكنك أن تقوم ببيعها ويمكنك أن توقعها ب اسم  
لتكون وحيدة على مستوى العالم ولحفظ Strong Name فريد يُسمى 
حقوقك من السرقة أو الاستخدام غير المشروع . 
05 19 تشرين الثاني، 14
Static Linking 
.h , .cpp سابقا , كنا نقوم بربط ملفات C++ كما في  
المساوئ:  
يتم جلب كود استدعاء التابع من المكتبة قبل الترجمة .  
المكتبات مفتوحة ويمكن لأي أحد أن يرى الكود ويعدل عليه .  
بطيئة , لأنها تتطلب إعادة ترجمة , أي أن الشيفرة المصدرية للبرنامج  
تستعمل الشيفرة المصدرية للمكتبة . 
كل برنامج يريد أن يستعمل هذه المكتبة يقوم بتحميل كود التابع إلى الذكرة  
الرئيسية وبالتالي لدينا برنامجين يستخدمان نفس الكود للتابع لكنه مكرر. 
05 20 تشرين الثاني، 14
DLL before .NET 
وفي بدايات ظهور الويندوز قامت شركة مايكروسوفت بتحقيق .NET قبل  
فكرة الربط الديناميكي والتي تتلخص تعتمد على مفهوم المكونات وقد 
ولكنها كانت تعاني من بعض المشاكل منها : , COM سمتها 
هو COM علما أن المصدر الرئيسي لمكونات COM صعوبة تعلم وبرمجة  
. ATL باستخدام مكتبة C++ لغة 
صعب جداً ويحتاج إلى معلومات موجودة في مسجل COM تثبيت مكونات  
النظام وإزالة تثبيت المكون تحتاج إلى جهد كبير أيضا . 
05 21 تشرين الثاني، 14
DLL after .NET 
الفكرة بإختصار هي وضع كل ما يهمنا من معلومات ضمن المجمعة نفسها  
.» بيانات وصفية « على شكل 
لن يحتاج إلى أية معلومات ضمن )DLL,EXE( هذا يعني أن المجمعة  
مسجل النظام . 
ضمن المجمعة يتم تخزين أرقام الإصدارات الخاصة بالمجمعة , مثل :  
. Shape يليها 1.1 Shape 1.0 
05 22 تشرين الثاني، 14
DLL Vs EXE 
له خرج وقد لا يكون له دخل . EXE ملف ال  
ليس له دخل وليس له خرج . DLL ملف ال  
كلمف EXE في البنية هما متشابهان تمام ا كًما يمكن استخدام ملف  
DLL 
.NET في بيئة 
05 23 تشرين الثاني، 14
.NET Assemblies and .NET Library 
.NET أن أي كود سي شارب سيستخدم مكتبة من مكتبات  
writeline الذي يستخدم التابع Hello world أبسط مثال هو برنامج  
لكن كيف يتم ذلك . , Console الموجود ضمن الصف 
فأن محرك زمن system من فضاء الأسماء Method كلما استدعينا  
سيضمن تحميل المجمعة ومعرفة التابع الذي قمت )CLR( التنفيذ المشترك 
وفي أي namespace باستدعائه من المكتبة التي قمت بتحميلها )في أي 
وذلك من خلل البيانات الوصفية ) method هذا ال Class 
MetaData 
05 24 تشرين الثاني، 14
Overlap between the programming 
languages 
بإنشاء لغات برمجة جديدة مع أنها جميعا تترجم Microsoft لماذا تقوم  
؟ Managed Code إلى 
إن العديد من المبرمجين حساسين جداً للغة التي يبرمجون بها فكل منهم يحب  
خاص للغة معتاد عليه. syntax 
مثل .NET الدور التسويقي لجذب جميع المبرمجين للعمل تحت منصة  
متوافقة مع جافا C# كما يوجد محاولات لجعل C++VB.NET ,Delphi 
أنتاج منتج بواسطة فريق عمل وكل شخص يعمل على لغة مختلفة عن  
الأخرى وبالتالي نكون قد أنتجنا المنتج بواسطة عدة لغات برمجة . 
05 25 تشرين الثاني، 14
VB.NET Code C# Code 
إذا قمنا ببناء (EXE قد تكون ,Assembly تمثل مُجمّعة MSIL شيفرة 
)Class Library إذا قمنا ببناء (DLL ملف تنفيذي( أو 
JIT For Apple JIT For Linux JIT For Win 
شيفرة الآلة لنظام 
Windows التشغيل 
شيفرة الآلة لنظام 
Apple التشغيل 
شيفرة الآلة لنظام 
Linux التشغيل 
05 26 تشرين الثاني، 14
Advantages offered by .NET 
.NET والذي يدير تنفيذ جميع مجمعات (CLR) محرك زمن التنفيذ المشترك  
)JAVA تماما بال JVM مثل ال CLR ( بغض النظر عن اللغة التي كتبت بها 
المتوسطة( والتي تنتجها جميع مترجمات لغات Microsoft لغة ( MSIL لغة  
.NET 
مثلً أن C# حيث يمكن للمكونات المكتوبة بلغة CLS مواصفات اللغة المشتركة  
مع إمكانية الوراثة الكاملة بين الأصناف VB تستخدم في 
05 27 تشرين الثاني، 14
Creating Assembly 
, Add new Item ثم نضيف Class Library ننشئ مشروع جديد من النوع  
الأن لدينا VB.net إذا كنا نعمل vb و C# إذا كنا نعمل cs ثم نختار ملف 
.namespace فارغ ضمن Class , 
تحوي System.Data : مثل namespace يمكن أن تحوي المجمعة أكثر من  
و System.Data.OLeDB مثل namespace أكثر من 
System.Data.SqlClient 
يمثل المجمعة dll فينتج لدينا ملف )Shift+f6= build( نقوم ببناء المشروع  
ليستعمله في أي Add Reference يمكن أن يعطيه لأي شخص ليقوم بعمل 
.NET لغة تحت منصة 
05 28 تشرين الثاني، 14
Shared and Private Assemblies 
المجمعات الخاصة  
خاصة فقط بالتطبيق  
المجمعات المشتركة  
)C:windowsAssembly( مشتركة لجميع التطبيقات وتقع في مكان مركزي  
. GAC هذه المجمعة يجب أن تكون موقعة بمفتاح مُشفر , قبل وضعها في  
05 29 تشرين الثاني، 14
Assemblyinfo.cs File 
قد يتسائل البعض عن هذا الملف وما هي وظيفته , إذ أنه يتولد بشكل تلقائي مع  
.NET مشروع في بيئة 
يستخدم هذا الملف لضبط صفات المجمعة في بيانها )ضمن المجمعة نفسها( .  
كل تعليمة موضوعة ضمن الأقواس المربعة "[]" مثل  
[assembly:AssemblyVersion("1.0.0.0")] 
يكفي أن نعلم الآن أن كل تعليمة من هذه التعليمات تقوم ( Attribute تمثل صفة 
بإعداد خاصية من خصائص المجمعة ( 
في بداية كل تعليمة أن الصفة موجهة للمجمعة نفسها assembly تشيرالكلمة  
. method أو منهج class وليس لأي صف 
05 30 تشرين الثاني، 14
Assemblyinfo.cs File 
لكل مجمعة اسم و رقم إصدار ومعلومات أخرى وهي كلها متوفرة على شكل  
.Assemblyinfo.cs ضمن الملف Attributes 
EXE أو dll في حال إصدار منتج وقمنا بترقية وتحديث مجمعاتنا سواء كانت  
نقوم بتوقيع المجمعة ب اسم فريد لضمان حقوق شركتك من السرقة وللسماح  
للبرامج من التأكد من أن هذه المجمعة موقعة )موضوع أمني بحت(. 
أربعة أرقام هي : .NET للإصدار في مجمعة  
(Major Version ) إصدار رئيسي  
(Minor Version) إصدار ثانوي  
(Build Number) رقم البناء  
(Revision) رقم الطبعة  
05 31 تشرين الثاني، 14

1 first lesson -assemblies

  • 1.
  • 2.
    Course Outlines Introduction to .NET Framework and How CLR Works.  Assembly (EXE ,DLL) How does it work  Attributes (meta Data).  Reflection in .NET  How To Publish your project  XML Manipulation .  ADO.NET From Novice to Professional  History of ADO.NET and old Techniques to Data Base Manipulation.  Examples for All SqL statements in C#  Advance Concepts in DB (Such as Transaction , Trigger and Stored Procedures) 05 2 تشرين الثاني، 14
  • 3.
    Course Outlines Multithreading From Novice To Professional OS and Process Concepts.  Delegates.  All Operation at the Thread (start,stop,pause,resume).  Threads Synchronization Concepts.  Threads Synchronization implementation Techniques:  Using Lock.  Atomic Operations  Semaphore .  Mutex.  Monitor. 05 3 تشرين الثاني، 14
  • 4.
    Course Outlines Deadlock How it happen and How To Avoid Deadlock in Multithreading Applications.  Parallel Programming Examples  Thread Pools Concepts and Example.  Memory management and Pointers in C# (unsafe Code)  Reference Type Vs Value Type .  Heap Vs Stack  Garbage Collector .  Release unmanaged Resources (such as Opened Files , DB Connections)  How To write unsafe Code in C#.` 05 4 تشرين الثاني، 14
  • 5.
    Course Outlines Network Applications Programming With Sockets.  Networking Applications Models.  Client Server Model.  Socket Concepts .  Sequential Server.  Multithreaded Servers.  Resources Management  Thread Pool  Concepts for Asynchronous Programming Technique.  FTP Server .  Chat Server. 05 5 تشرين الثاني، 14
  • 6.
    Course Outlines Discover System.Security.Cryptography(How To Ensure Secure Layer for our Applications)  Understand Security Objectives (Security Requirements) , Security Mechanism .  Explaining Security Requirements such as :  Confidentiality  Data Integrity  Availability  Authentications  None Repudiation .  Symmetric Encryption(Such as : AES) .  Asymmetric Encryption(Such as : RSA). 05 6 تشرين الثاني، 14
  • 7.
    Course Outlines Hash Functions(Such as , MD5 ,SHA-n)  Entity Authentication (Such as : by Random Numbers !)  Digital Signature  PKI  CA 05 7 تشرين الثاني، 14
  • 8.
    When You reliesThe Concept , Every Thing Will Go Easy  05 8 تشرين الثاني، 14
  • 9.
    Homework (Course Project)  Airline Server Bank DB Airline DB Thread Client 5 Client 4 Client 3 Client 2 Client 1 Secure channel Network Connection 05 9 تشرين الثاني، 14
  • 10.
    Homework (Course Project) Resources Management Strategies 05 10 تشرين الثاني، 14
  • 11.
    Introduction to .NETFramework 1- Assemblies
  • 12.
    Outlines  Before.NET Framework  .NET Framework How it Works What is CLR ?  Managed Code Vs Unmanaged Code  Components  Components Advantages  Static Linking  DLL before .NET  DLL after .NET  DLL Vs EXE 05 12 تشرين الثاني، 14
  • 13.
    Outlines  .NETAssemblies and .NET Library  Overlap between the programming languages  Advantages offered by .NET.  Creating Assembly  Assemblyinfo.cs File 05 13 تشرين الثاني، 14
  • 14.
    Before .NET ملفتنفيذي لكل نظام تشغيل  ترجمة  شيفرة مصدرية  المشاكل :  البرنامج التنفيذي غير محمول على عدة أنظمة تشغيل.  في حال أردنا تنفيذ البرنامج على نظام تشغيل أخر فإننا بحاجة إلى إعادة  ترجمة الشيفرة المصدرية على النظام الجديد. 05 14 تشرين الثاني، 14
  • 15.
    .NET ,How itWorks ? VB.NET Code C# Code إذا قمنا ببناء (EXE قد تكون ,Assembly تمثل مُجمّعة MSIL شيفرة )Class Library إذا قمنا ببناء (DLL ملف تنفيذي( أو JIT For Apple JIT For Linux JIT For Win شيفرة الآلة لنظام Windows التشغيل شيفرة الآلة لنظام Apple التشغيل شيفرة الآلة لنظام Linux التشغيل 05 15 تشرين الثاني، 14
  • 16.
    What is CLR? تتضمن مجموعة من الخدمات .NET و هي عبارة عن محرك تنفيذي لتطبيقات الـ  مثل: إدارة الذاكرة  native code إلى MSIL تحويل كود الـ  Exception Handling  Debugging  05 16 تشرين الثاني، 14
  • 17.
    Managed Code VsUnmanaged Code (CLR) شيفرة مُدارة من قبل الطبقة الوسطية  التخلص من التعامل مع المؤشرات و عملية تحرير الأغراض المحجوزة ضمن  . “Garbage Collector” الذاكرة عن طريق ما بعرف ب جامع النفايات الشيفرة غير المُدارة هي الشيفرة التي تتعامل فوراً مع نظام التشغيل .  الشيفرة الغير المُدارة أسرع من الشيفرة مدارة .  05 17 تشرين الثاني، 14
  • 18.
    Components المكون :هو عبارة عن برنامج يحوي شيفرة تنفيذية وليس شيفرة مصدرية  بإمكان البرامج الأخرى أن تستخدمه دون الحاجة إلى لإعادة ترجمة الشيفرة  المصدرية ودون الحاجة لمعرفة الشيفرة المصدرية الخاصة بالمجمعة مما يوفر نوعا من الأمن . مكون ثنائي . DLL يمكن إعتبار ملف  05 18 تشرين الثاني، 14
  • 19.
    Components Advantages مزاياالمكونات :  إعادة استخدام البرامج الفرعية في برامج عديدة  المجمعة التي قمت ببنائها يمكنك أن تقوم ببيعها ويمكنك أن توقعها ب اسم  لتكون وحيدة على مستوى العالم ولحفظ Strong Name فريد يُسمى حقوقك من السرقة أو الاستخدام غير المشروع . 05 19 تشرين الثاني، 14
  • 20.
    Static Linking .h, .cpp سابقا , كنا نقوم بربط ملفات C++ كما في  المساوئ:  يتم جلب كود استدعاء التابع من المكتبة قبل الترجمة .  المكتبات مفتوحة ويمكن لأي أحد أن يرى الكود ويعدل عليه .  بطيئة , لأنها تتطلب إعادة ترجمة , أي أن الشيفرة المصدرية للبرنامج  تستعمل الشيفرة المصدرية للمكتبة . كل برنامج يريد أن يستعمل هذه المكتبة يقوم بتحميل كود التابع إلى الذكرة  الرئيسية وبالتالي لدينا برنامجين يستخدمان نفس الكود للتابع لكنه مكرر. 05 20 تشرين الثاني، 14
  • 21.
    DLL before .NET وفي بدايات ظهور الويندوز قامت شركة مايكروسوفت بتحقيق .NET قبل  فكرة الربط الديناميكي والتي تتلخص تعتمد على مفهوم المكونات وقد ولكنها كانت تعاني من بعض المشاكل منها : , COM سمتها هو COM علما أن المصدر الرئيسي لمكونات COM صعوبة تعلم وبرمجة  . ATL باستخدام مكتبة C++ لغة صعب جداً ويحتاج إلى معلومات موجودة في مسجل COM تثبيت مكونات  النظام وإزالة تثبيت المكون تحتاج إلى جهد كبير أيضا . 05 21 تشرين الثاني، 14
  • 22.
    DLL after .NET الفكرة بإختصار هي وضع كل ما يهمنا من معلومات ضمن المجمعة نفسها  .» بيانات وصفية « على شكل لن يحتاج إلى أية معلومات ضمن )DLL,EXE( هذا يعني أن المجمعة  مسجل النظام . ضمن المجمعة يتم تخزين أرقام الإصدارات الخاصة بالمجمعة , مثل :  . Shape يليها 1.1 Shape 1.0 05 22 تشرين الثاني، 14
  • 23.
    DLL Vs EXE له خرج وقد لا يكون له دخل . EXE ملف ال  ليس له دخل وليس له خرج . DLL ملف ال  كلمف EXE في البنية هما متشابهان تمام ا كًما يمكن استخدام ملف  DLL .NET في بيئة 05 23 تشرين الثاني، 14
  • 24.
    .NET Assemblies and.NET Library .NET أن أي كود سي شارب سيستخدم مكتبة من مكتبات  writeline الذي يستخدم التابع Hello world أبسط مثال هو برنامج  لكن كيف يتم ذلك . , Console الموجود ضمن الصف فأن محرك زمن system من فضاء الأسماء Method كلما استدعينا  سيضمن تحميل المجمعة ومعرفة التابع الذي قمت )CLR( التنفيذ المشترك وفي أي namespace باستدعائه من المكتبة التي قمت بتحميلها )في أي وذلك من خلل البيانات الوصفية ) method هذا ال Class MetaData 05 24 تشرين الثاني، 14
  • 25.
    Overlap between theprogramming languages بإنشاء لغات برمجة جديدة مع أنها جميعا تترجم Microsoft لماذا تقوم  ؟ Managed Code إلى إن العديد من المبرمجين حساسين جداً للغة التي يبرمجون بها فكل منهم يحب  خاص للغة معتاد عليه. syntax مثل .NET الدور التسويقي لجذب جميع المبرمجين للعمل تحت منصة  متوافقة مع جافا C# كما يوجد محاولات لجعل C++VB.NET ,Delphi أنتاج منتج بواسطة فريق عمل وكل شخص يعمل على لغة مختلفة عن  الأخرى وبالتالي نكون قد أنتجنا المنتج بواسطة عدة لغات برمجة . 05 25 تشرين الثاني، 14
  • 26.
    VB.NET Code C#Code إذا قمنا ببناء (EXE قد تكون ,Assembly تمثل مُجمّعة MSIL شيفرة )Class Library إذا قمنا ببناء (DLL ملف تنفيذي( أو JIT For Apple JIT For Linux JIT For Win شيفرة الآلة لنظام Windows التشغيل شيفرة الآلة لنظام Apple التشغيل شيفرة الآلة لنظام Linux التشغيل 05 26 تشرين الثاني، 14
  • 27.
    Advantages offered by.NET .NET والذي يدير تنفيذ جميع مجمعات (CLR) محرك زمن التنفيذ المشترك  )JAVA تماما بال JVM مثل ال CLR ( بغض النظر عن اللغة التي كتبت بها المتوسطة( والتي تنتجها جميع مترجمات لغات Microsoft لغة ( MSIL لغة  .NET مثلً أن C# حيث يمكن للمكونات المكتوبة بلغة CLS مواصفات اللغة المشتركة  مع إمكانية الوراثة الكاملة بين الأصناف VB تستخدم في 05 27 تشرين الثاني، 14
  • 28.
    Creating Assembly ,Add new Item ثم نضيف Class Library ننشئ مشروع جديد من النوع  الأن لدينا VB.net إذا كنا نعمل vb و C# إذا كنا نعمل cs ثم نختار ملف .namespace فارغ ضمن Class , تحوي System.Data : مثل namespace يمكن أن تحوي المجمعة أكثر من  و System.Data.OLeDB مثل namespace أكثر من System.Data.SqlClient يمثل المجمعة dll فينتج لدينا ملف )Shift+f6= build( نقوم ببناء المشروع  ليستعمله في أي Add Reference يمكن أن يعطيه لأي شخص ليقوم بعمل .NET لغة تحت منصة 05 28 تشرين الثاني، 14
  • 29.
    Shared and PrivateAssemblies المجمعات الخاصة  خاصة فقط بالتطبيق  المجمعات المشتركة  )C:windowsAssembly( مشتركة لجميع التطبيقات وتقع في مكان مركزي  . GAC هذه المجمعة يجب أن تكون موقعة بمفتاح مُشفر , قبل وضعها في  05 29 تشرين الثاني، 14
  • 30.
    Assemblyinfo.cs File قديتسائل البعض عن هذا الملف وما هي وظيفته , إذ أنه يتولد بشكل تلقائي مع  .NET مشروع في بيئة يستخدم هذا الملف لضبط صفات المجمعة في بيانها )ضمن المجمعة نفسها( .  كل تعليمة موضوعة ضمن الأقواس المربعة "[]" مثل  [assembly:AssemblyVersion("1.0.0.0")] يكفي أن نعلم الآن أن كل تعليمة من هذه التعليمات تقوم ( Attribute تمثل صفة بإعداد خاصية من خصائص المجمعة ( في بداية كل تعليمة أن الصفة موجهة للمجمعة نفسها assembly تشيرالكلمة  . method أو منهج class وليس لأي صف 05 30 تشرين الثاني، 14
  • 31.
    Assemblyinfo.cs File لكلمجمعة اسم و رقم إصدار ومعلومات أخرى وهي كلها متوفرة على شكل  .Assemblyinfo.cs ضمن الملف Attributes EXE أو dll في حال إصدار منتج وقمنا بترقية وتحديث مجمعاتنا سواء كانت  نقوم بتوقيع المجمعة ب اسم فريد لضمان حقوق شركتك من السرقة وللسماح  للبرامج من التأكد من أن هذه المجمعة موقعة )موضوع أمني بحت(. أربعة أرقام هي : .NET للإصدار في مجمعة  (Major Version ) إصدار رئيسي  (Minor Version) إصدار ثانوي  (Build Number) رقم البناء  (Revision) رقم الطبعة  05 31 تشرين الثاني، 14