ΠΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌ CTS ΠΈ CLS, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, Π±ΡΠ΄Π΅Ρ Π°Π±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° CLR (Common Language Runtime β ΠΎΠ±ΡΠ΅ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ). ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ ΡΡΠ΅Π΄Π°, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅ΡΒ» ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Microsoft (MFC), ΠΎΠ½ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ MFC (Ρ.Π΅. mfc42.dll). ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ VB6 ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ»ΠΈ Π΄Π²ΡΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, msvbvm60.dll). Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Java ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ Java (JVM) ΠΈ Ρ.Π΄.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° .NET ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ΅Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ΅Π΄ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ .NET ΠΈ ΡΡΠ΅Π΄ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ΅Π΄Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ .NET ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅Π΄ΠΈΠ½ΡΠΉ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ "ΡΠ»ΠΎΠΉ" Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΠ±ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ² ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ .NET.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ CLR ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ mscoree.dll (ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Common Object Runtime Execution Engine β ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ). ΠΠΎΠ³Π΄Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΡΡΡΠ»Π°ΡΡΡΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, mscoree.dll Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ Π·Π°Π΄Π°Ρ. ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΈ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅, Π·Π° Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π±ΠΈΠ½Π°ΡΠ½ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ ΡΠ°ΠΌ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ . ΠΠ°ΡΠ΅ΠΌ ΡΡΠ΅Π΄Π° CLR ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΈΠΏ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ CIL-ΠΊΠΎΠ΄ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΈΠΏΠΎΠ², CLR ΡΠ°ΠΊΠΆΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² .NET. Π₯ΠΎΡΡ Π²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°Π·Π±ΠΈΡΠ° Π½Π° ΡΠ΅Π»ΡΠΉ ΡΡΠ΄ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², "ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ" ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ mscorlib.dll. Π€Π°ΠΉΠ» mscorlib.dll ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² ΡΠ΅Π±Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΡΠΏΠ΅ΠΊΡΡΠ° ΠΎΠ±ΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π²ΡΠ΅ΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ .NET. ΠΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ .NET-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΎΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠΌΡ Π±Π»ΠΎΠΊΡ.
ΠΠ° ΡΠΈΡ. 1.3 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ²ΡΠ·Π΅ΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠΈΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ ΡΠΈΠΏΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²), .NET-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ .NET.
Π Π°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½ ΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½Π°Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ Π²Π°ΠΆΠ½ΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π¦Π΅Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ MFC, J2EE ΠΈΠ»ΠΈ ATL, β Π΄Π°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π³ΠΎΡΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ Π±Π»ΠΎΠΊΠΎΠ² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠΎΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠ·ΡΠΊ C# Π½Π΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ C# ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ .NET-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠ΅ Π² ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΠ΅ ΡΠΈΠΏΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π±ΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° .NET ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½.
Π£ΠΏΡΠΎΡΠ΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠΎΠΉ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ System.IO ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΏΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ System.Data ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ.Π΄. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ (ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, mscorlib.dll) ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΏΠΎΠ².
Π§ΡΠΎΠ±Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΡΠ°Π»Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΎΠΉ, Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠΈΡ. 1.4, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ½ΠΈΠΌΠΎΠΊ ΠΎΠΊΠ½Π° Object Browser ΠΈΠ· Visual Studio 2005. ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠ°Ρ , ΡΠΈΠΏΡ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΠΈ ΡΠ»Π΅Π½Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ mscorlib.dll ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Ρ, ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΈΠΏΡ.
Π ΠΈΡ. 1.3. ΠΠΎΠ΄ΡΠ»Ρ mscoree.dll Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΎΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π²ΠΈΡΡΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΊ MFC, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ .NET ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΈ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠΈΠΏΡ.
Π ΠΈΡ.1.4. ΠΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½
ΠΠ»Ρ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ Π²Π΅Π·Π΄Π΅ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° "Hello World" ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° C#, VB .NET ΠΈ Managed Extensions for C++.
// Hello world Π½Π° ΡΠ·ΡΠΊΠ΅ C#
using System;
public class MyApp {
static void Main() {
Console.WriteLine("ΠΡΠΈΠ²Π΅Ρ ΠΈΠ· C#");
}
}
' Hello world Π½Π° ΡΠ·ΡΠΊΠ΅ VB .NET
Imports System
Public Module MyApp
Sub Main()
Console.WriteLine("ΠΡΠΈΠ²Π΅Ρ ΠΈΠ· VB .NET")
End Sub
End Module
// Hello world Π½Π° ΡΠ·ΡΠΊΠ΅ Managed Extensions for C++
#include "stdafx.h"
using namespace System;
int main(arrayβΉSystem::String^βΊ ^args) {
Console::WriteLine("ΠΡΠΈΠ²Π΅Ρ ΠΈΠ· managed C++");
return 0;
}
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ Console, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System. ΠΡΠ»ΠΈ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ, ΡΠΎ ΡΡΠΈ ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎ ΡΠΎΡΠΌΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π²Π°ΡΠ΅ΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° .NET. ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠΈ ΡΠΈΠΏΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ (ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ ) ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ .NET. ΠΠ»Π°Π²Π½ΡΠΌ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ System. ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ .NET. Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ C#-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅ΠΈΠΈΡ, Π½Π΅ ΡΠΎΡΠ»Π°Π²ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ System. Π ΡΠ°Π±Π». 3.4 ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΊΡΠ°ΡΠΊΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ (Π½ΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, Π½Π΅ Π²ΡΠ΅Ρ ) ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ .NET.
Π’Π°Π±Π»ΠΈΡΠ° 1.4. ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ .NET
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ .NET ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ System Π ΡΠ°ΠΌΠΊΠ°Ρ System Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΡΠ±ΠΎΡΠΎΠΌ ΠΌΡΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² System.Collections System.ColIections.GeneriΡ ΠΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ΄ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ArrayList, Queue ΠΈ Ρ.Π΄.), Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. Π .NET 2.0 ΡΠΈΠΏΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ System.Data System.Data.Odbc System.Data.OracleClient System.Data.OleDb System.Data.SqlClient ΠΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ADO.NET System.Diagnostics ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° System.Drawing System.Drawing.Drawing2D System.Drawing.Printing ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΡΠ°ΡΡΡΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΈΡΡΡ ΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΠ΅ΡΠ°ΡΡ System.IO System.IO.Compression System.IO.Ports ΠΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Ρ.Π΄. Π .NET 2.0 ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ IO ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΡΠ°ΠΌΠΈ System.Net ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ (ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΏΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (Π·Π°ΠΏΡΠΎΡΡ/ΠΎΡΠ²Π΅ΡΡ, ΡΠΎΠΊΠ΅ΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΠΈ Ρ.Π΄.) System.Reflection System.Reflection.Emit ΠΡΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ² Π² ΡΡΠ΅Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ² System.Runtime.InteropServices ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΈΠΏΠΎΠ² .NET Ρ "Π½Π΅ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ" (ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, DLL Π½Π° Π±Π°Π·Π΅ C ΠΈ COM-ΡΠ΅ΡΠ²Π΅ΡΡ) System.Runtime.Remoting ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ (ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠΈΡ ) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ»ΠΎΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° .NET System.Security ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ β ΡΡΠΎ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .NET. Π ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΠΈΠ΄Π΅Π΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΡΠΈΡΠΎΠΉ ΠΈ Ρ.Π΄. System.Threading ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ System.Web Π ΡΠ΄ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET, Π²ΠΊΠ»ΡΡΠ°Ρ Web-ΡΠ΅ΡΠ²ΠΈΡΡ ASP.NET ΠΈ XML System.Windows.Forms ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΡΠΎΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ GUI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ) Π΄Π»Ρ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ System.Xml Π‘Π²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ XML ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΏΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ XML-Π΄Π°Π½Π½ΡΠΌΠΈΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΌ ΠΈΠΌΠ΅Π½