βΉdependentAssemblyβΊ
βΉassemblyIdentity name="CarLibrary" publicKeyToken="l91ebf55656e0a43" /βΊ
βΉpublisherPolicy Π°ΡΡlΡ="yes" /βΊ
βΉbindingRedirect oldVersion= "1.0.0.0" newVersion="2.0.0.0" /βΊ
βΉ/dependentAssemblyβΊ
βΉ/assemblyBindingβΊ
βΉ/runtimeβΊ
βΉ/configurationβΊ
ΠΠ½Π°Π»ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ GAC
ΠΡΠ°ΠΊ, Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ GAC. ΠΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ GAG Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΡΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ Windows Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠ΄ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠ° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ COM-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ shfusion.dll. ΠΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°ΡΡ, Π·Π° ΡΡΠΈΠΌΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΡΠ»ΠΎΠΆΠ½Π°Ρ (Ρ ΠΎΡΡ ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ) ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ° GAC, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ assembly.
cd c:\windows\assembly
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ dir. Π ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ, Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ GAC_MISL (ΡΠΈΡ. 11.26).
Π ΠΈΡ. 11.26. Π‘ΠΊΡΡΡΡΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ GAC_MSIL
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ GAC_MSIL ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ dir. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ shfusion.dll. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ CarLibrary ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ dir (ΡΠΈΡ. 11.27).
Π ΠΈΡ. 11.27. ΠΠ½ΡΡΡΠΈ ΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° CarLibrary
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π² ΡΡΡΡΠΊΡΡΡΠ΅ GAC Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΈΠΌΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Ρ βΉΠ²Π΅ΡΡΠΈΡΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎΠΠ»ΠΎΠΊΠ°βΊ__ΠΊΠΎΠ΄ΠΡΠΊΡΡΡΠΎΠ³ΠΎΠΠ»ΡΡΠ°. ΠΡΠ»ΠΈ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ CarLibrarΡ Π²Π΅ΡΡΠΈΠΈ 1.0.0.0, ΡΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΠ°ΠΌ ΠΊΠΎΠΏΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΡΠΈΡ .11.28).
Π ΠΈΡ. 11.28. Π‘ΠΌΠΎΡΡΠΈΡΠ΅! ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ GAC Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ CarLibrary.dll!
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΡΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² ΡΡΡΡΠΊΡΡΡΡ GAC ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΡΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ assembly. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΡΡΠ΅Π΄Π° CLR ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΈΠ·Π±Π΅Π³Π°Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½Π°ΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΠ·-Π·Π° Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² *.dll Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ.
Π€Π°ΠΉΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ²
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² *.config ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π² ΠΎΠ±Ρ ΠΎΠ΄ Π²Π΅ΡΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ, Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ Π²Ρ ΡΠ²Π»ΡΠ΅ΡΠ΅ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ CarLibrary.dll Π²Π΅ΡΡΠΈΠΈ 2.0.0.0. ΠΠ²ΠΈΠ΄Ρ ΠΏΡΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ XML-ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΡ (Π΅ΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ CarLibrary!). ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΡΠΌΠ°ΡΠΎΠΌ.
ΠΠΎΠ»ΠΈΡΠΈΠΊΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ "ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ" Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° (Π²Π°ΠΌ, Π²Π°ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊΡ) ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° *.config, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΡ GAC Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π½ΠΎΠ²Π΅ΠΉΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅-ΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠ³Π΄Π° ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² *.config Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ΡΠ΅Π΄Π° CLR ΡΠΈΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅ GAC. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΡΠ΅Π΄Π° CLR ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΈΡΠ°ΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ» XML-Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ GAC.
Π€Π°ΠΉΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ .NET-ΡΡΠΈΠ»ΠΈΡΡ al.exe (ΡΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠ²ΡΠ·Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°). ΠΡΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΉ, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅:
β’ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° *.config ΠΈΠ»ΠΈ *.xml, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ;
β’ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π·Π°Π΄Π°ΡΡΠ΅Π³ΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ;
β’ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° *.snk, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ;
β’ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ, Π½Π°Π·Π½Π°ΡΠ°Π΅ΠΌΠΎΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ CarLibrary.dll, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
al /link: CarLibraryPolicy.xml /out:policy.1.0.CarLibrary.dll /keyf: C:\MyKey\myKey.snk /v:1.0.0.0
ΠΠ΄Π΅ΡΡ XML-ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ CarLibraryPolicy.xml. ΠΠΌΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°Ρ policy.βΉΠ³Π»Π°Π²Π½ΡΠΉ(Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ)βΊ. βΉΠ΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ(Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ)βΊ.ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΡΠΉΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉΠΠ»ΠΎΠΊ), ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π°Π³Π° /out. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ, Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠΈΠΈ /keyf. (ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ al.exe Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΡΡΡΠΊΡΡΡΠ΅ GAC Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, "Π·Π°ΡΡΠ°Π²ΠΈΡΡ" Π²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ CarLibrary.dll Π²Π΅ΡΡΠΈΠΈ 2.0.0.0.
ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ (ΠΊΠ°ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ) ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ (ΠΈ Π½ΠΎΠ²ΡΡ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°) Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈ ΡΠ»ΡΡΠ°Π΅ΡΡΡ, Π΄Π΅Π²ΡΡΡ ΠΈΠ· Π΄Π΅ΡΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ 2.0.0.0 Π±Π΅Π· Π²ΡΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ CarLibrary.dll Π²Π΅ΡΡΠΈΠΈ 2.0.0.0 Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (ΠΌΡ Ρ Π²Π°ΠΌΠΈ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ 100%-Π½ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ).
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ "ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ³ΠΎ" ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΡΠ΅Π΄Π΅ CLR ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² GAC ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ .NET, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» *.Ρonfig (Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° βΉpublisherPolicyβΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π°ΡΡΠΈΠ±ΡΡΠ° apply Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ no. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π΄Π° CLR Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·Π°Π½Π° Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
βΉconfiguratΠΎnβΊ
βΉruntimeβΊ
βΉassemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"βΊ
βΉpublisherPolicy apply="no" /βΊ
βΉ/assemblΡΠindingβΊ
βΉ/runtimeβΊ
βΉ/configurationβΊ
ΠΠ»Π΅ΠΌΠ΅Π½Ρ βΉcodeBaseβΊ
Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° βΉcodeBaseβΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΡΠ΅Π΄Π΅ CLR ΠΈΡΠΊΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΈΠ»ΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π²Π½Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° βΉcodeBaseβΊ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΠΏΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΡΡΡΠΊΡΡΡΡ GAC, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ β ΠΊΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ. Π£Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ gacutil.exe, ΡΠΊΠ°Π·Π°Π² ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠΉ ΡΡΠΈΠ»ΠΈΡΡ ΠΎΠΏΡΠΈΡ /ldl.
Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² Π² GAC, Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° βΉcodeBaseβΊ, Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ (Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΈΠ½Π°ΡΠ΅ ΡΡΠ΅Π΄Π° CLR ΡΠΌΠΎΠ³Π»Π° Π±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π² ΡΡΡΡΠΊΡΡΡΡ GAC?).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π‘ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΠ»Π΅ΠΌΠ΅Π½Ρ βΉcodeBaseβΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ Π·ΠΎΠ½Π΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π°Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (Π² ΡΡΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ βΉprivatePathβΊ).
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π‘odeBaseΠ‘lient, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΡΡΠ»ΠΊΡ Π½Π° CarLibrary.dll Π²Π΅ΡΡΠΈΠΈ 2.0.0.0 ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ°ΠΊ.
using CarLibrary;
namespace CodeBaseClient {
class Program {
static void Main(string[] args) {
Console.WriteLine("***** ΠΠ°Π±Π°Π²Ρ Ρ CodeBase *****");
SportsCar Ρ = new SportsCar();
Console.WriteLine("Π‘ΠΎΠ·Π΄Π°Π½Π° ΡΠΏΠΎΡΡΠΈΠ²Π½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π°.");