рд╣рдо .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рд╕реВрдЪрдирд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд░реБрдЭрд╛рдиреЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдмрд┐рдЫрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрдирдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддреЗ рд╣реИрдВред рдФрд░ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рднреА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдпрд╛ рдПрдХ рд╡рд┐рдХрд╕рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЙрдбреНрдпреВрд▓рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЯрд░реНрдирдХреА рд╕рдорд╛рдзрд╛рди рд╣рдореЗрд╢рд╛ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдХрднреА-рдХрднреА рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред

рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЕрдХреНрд╕рд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реАрдорд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред рдХреБрдЫ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреБ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рддреГрддреАрдп-рдкрдХреНрд╖ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреВрд░рдХред рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рдПрдХ рдореЙрдбреНрдпреВрд▓ рдирд┐рдпрдВрддреНрд░рдг рддрдВрддреНрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред


рдореЙрдбреНрдпреВрд▓рд░ рдЖрд╡реЗрджрди рдбрд┐рдЬрд╛рдЗрди рдХрджрдо


рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреА рдорджрдж рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдорджрдж рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдПрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрддрд▓рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред

рдкреНрд░рддрд┐рдмрд┐рдВрдм


.Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкрд░рд╛рд╡рд░реНрддрди рддрдХрдиреАрдХ рд╣реИред рдкреНрд░рддрд┐рдмрд┐рдВрдм рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рддрд┐рдмрд┐рдВрдм, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд▓рд╛рдЧреВ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣реА рд╣реИ, рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рд╕рдорд░реНрдкрд┐рдд рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде), рдЬреЛ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддрддреНрдХрд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрд┐рдВрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдЙрдЪреНрдЪ рд╕рдВрд╕рд╛рдзрди рддреАрд╡реНрд░рддрд╛ рд╕реЗ рдЬреБрдбрд╝реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред

рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ, рдЗрд╕рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЛ рдПрдиреНрдпреВрдорд░реЗрдЯ рдХрд░рдирд╛, рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░реИрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдиреНрдпреВрдорд░реЗрд╢рди рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдордпред рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдлрд┐рд░, рдРрд╕реА рдЕрд╕реЗрдВрдмрд▓реА рдЬрд┐рдирдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдЗрдВрдЯрд░рд╕реЗрдкреНтАНрдЯреЗрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНтАНрд╡рдпрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рдВрдкреВрд░реНрдг рдЦреЛрдЬ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреА рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдЕрдиреБрд╕рдВрдзрд╛рди рдкрд░ рдЦрд░реНрдЪ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рд╣реЛрддрд╛ рд╣реИред

рдореЙрдбреНрдпреВрд▓ рд╕рдВрд░рдЪрдирд╛


рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЧрдгрдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реВрдЪрдирд╛ рдХрд╛ рдПрдХ рд╕рдорд╛рди рд╕реНрд░реЛрдд рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдмрд┐рдВрджреБ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдлрд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред

рдбрд┐рд╡рд╛рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

1. рдореЙрдбреНрдпреВрд▓ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд╝рд┐рдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕реЗ рдХрд┐, рд╕рдВрдкреАрдбрд╝рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдмрд╛рдЗрдирд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ), рдЖрдкрдХреЛ рдмрд╕ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

2. рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ (рдПрдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ, рдФрд░ рдЧрдгрдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдЧ рдХреЗ рдкреВрд░реЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рдкреНрд▓рдЧрдЗрди рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИред

рдЗрд╕ рддрд░рд╣ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддреА рд╣реИ:
<?xml version="1.0"?> <plugin> <type> </type> <name> </name> <description> .</description> <version>  </version> <class>   ,    </class> <assembly> </assembly> <dependences> <dependence> </dependence> </dependences> </plugin> 


рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдирд┐рдХрд╛рд▓рдирд╛


рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирдпрд╛ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

1. рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЬреЛрдбрд╝реЗ рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рдкрде рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
2. рдЗрд╕рдХреЗ рд╡рд┐рд╡рд░рдгрдХ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ: рд╕рднреА рд╕рдВрдХреЗрддрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐, рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИред
3. рдореЙрдбреНрдпреВрд▓ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ, рдЬреЛрдбрд╝рд╛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
4. рдореЙрдбреНрдпреВрд▓ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ * рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ (рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдУрд░ рд╕реЗ рдПрдХ рд╣реИрд╢ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ)ред
5. рдореЙрдбреНрдпреВрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдФрд░ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╕реЗ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рддреА рд╣реИ (рдПрдХреНрд╕рдПрдордПрд▓-рдлрд╛рдЗрд▓ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ)ред
________________________________________
* рдЗрд╕ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рдо рдХреЗ рдЕрдВрддрд┐рдо рд╕рддреНрд░ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдПрдХ рдПрдХреНрд╕рдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдКрдкрд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдПрдХ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИ, рдХреЗрд╡рд▓ рдЗрд╕ рдЕрдВрддрд░ рдХреЗ рд╕рд╛рде рдХрд┐ рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА:
 <?xml version="1.0"?> <plugins> <plugin> <id>534523</id> <type> </type> <name>  1</name> <description>  1</description> <version>   1</version> <class>   ,    </class> <assembly> </assembly> <dependences> <dependence> </dependence> </dependences> </plugin> <plugin>> <id>79568</id> <type> </type> <name>  2</name> <description>  2</description> <version>   2</version> <class>   ,    </class> <assembly> </assembly> <dependences> <dependence> </dependence> </dependences> </plugin> . . . . </plugins> 


рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо:
1. рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ **ред
2. рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдирд╛ред

________________________________________
** рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдпрд╣рд╛рдВ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдкрд╣рд▓ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореЙрдбреНрдпреВрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдиреАрдЪреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рд▓реМрдЯреВрдВрдЧрд╛ред

рд╡рд░реНрдЧ рд╕рдВрд░рдЪрдирд╛


рд╡рд░реНрдЧ рдХрд╛ рд╕рд╛рд░

PluginDescriptor - рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рддреБрд░рдВрдд рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

PluginRegister - рдореЙрдбреНрдпреВрд▓ рдХреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдкрдврд╝рддрд╛ рдФрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рд╣реИрдВрдбрд▓ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╕рднреА рдЙрдкрд▓рдмреНрдз рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдгрдХрд░реНрддрд╛рдУрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд▓рдЧрдЗрди - рд╡рд┐рд╡рд░рдгрдХ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдмреЗрдорд╛рдиреА рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рддрдм рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдореЙрдбреНрдпреВрд▓ (рдореЙрдбреНрдпреВрд▓) рд╡рд┐рд╡рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдореЙрдбреНрдпреВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

PluginManager - рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рддрд╛ рдпрд╛ рд╣рдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрдЦрдВрдбрддрд╛ рдкрд░ рдирдЬрд░ рд░рдЦрддрд╛ рд╣реИ рдЬрдм рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбреНрдпреВрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЛ рдПрдХрдЬреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, "рдХреБрдВрд╡рд╛рд░рд╛" рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

PluginLoader - рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрд╡рдпрдВ рдЗрдВрд╕реНрдЯреЗрдВрдЯреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА ( рдпрд╣ рд▓реЗрдЦ рднреА рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

.Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдХрдиреЗрдХреНрд╢рди рдХреА рдорд╛рддреНрд░рд╛


.Net рдореЗрдВ рдбрд╛рдпрдирд╛рдорд┐рдХ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЛрдбрд┐рдВрдЧ рдореЗрдВ рдПрдХ рдЦрд╝рд╛рд╕рд┐рдпрдд рд╣реИ - рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рддрдерд╛рдХрдерд┐рдд AppDomain - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЛрдореЗрди рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЪреЗрддрд╛рд╡рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЕрд▓рдЧ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдкреВрд░реЗ рдбреЛрдореЗрди рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдХреЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЙрдбреНрдпреВрд▓ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдореЗрдореЛрд░реА рд╕реЗ рдЙрдирдХрд╛ рдЕрдирд▓реЛрдбрд┐рдВрдЧ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЫрд╛рдпрд╛ рдкреНрд░рддрд┐ рдирд╛рдордХ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред рдЗрд╕рдХрд╛ рд╕рд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдХреЙрдкреА рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ, рдЬрдмрдХрд┐ рдореВрд▓ рд╡рд┐рд▓реЛрдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред

рдореЗрдореЛрд░реА рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЙрддрд╛рд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдбреЛрдореЗрди рдмрдирд╛рдирд╛ рд╣реИред рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рдЙрддрд╛рд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╖рд┐рджреНрдз рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рд╕реНрдерд┐рдд рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рд╣реИ, рдЬреЛ рдореЙрдбреНрдпреВрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдХреНрд░рдорд╛рдВрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ PluginLoader рд╡рд░реНрдЧ рдХрд╛ рдХреЛрдб рджреВрдВрдЧрд╛ рдФрд░ Plugin рд╡рд░реНрдЧ рдХреЗ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ (рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рд▓реЛрдб рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ):
 public class BasePlugin { ... /// <summary> ///    . /// </summary> /// <remarks> ///      . /// </remarks> public Object Instance { get { if (instance == null) { instance = LoadInstance(); } return instance; } } /// <summary> ///       ///     . /// </summary> /// <returns> ///     ,  null. /// </returns> private Object LoadInstance() { Descriptor d = this.Descriptor; /*   */ AppDomainSetup setup = new AppDomainSetup(); setup.ShadowCopyFiles = "true"; //    //TODO:      /*     */ AppDomain domain = AppDomain.CreateDomain(d.ToString(), null, setup); /*    */ PluginLoader loader = (PluginLoader)domain.CreateInstanceFromAndUnwrap( typeof(PluginLoader).Assembly.Location, typeof(PluginLoader).FullName); /*    */ Object obj = null; try { obj = loader.CreateInstance(d, PluginManager .GetPluginDirectory(this)); } catch (Exception e) { AppDomain.Unload(domain); throw new PluginLoadException(d, "", e); } return obj; } } 


 [Serializable] public class PluginLoader { /// <summary> ///       . /// </summary> /// <param name="d">  .</param> /// <param name="pluginDirectory"> ///      . /// </param> /// <returns> ///  ,   . /// </returns> public Object CreateInstance(Descriptor d, String pluginDirectory) { String assemblyFile = Path.Combine(pluginDirectory, d.AssemblyName); /*   . */ Assembly assembly = null; try { AssemblyName asname = AssemblyName.GetAssemblyName(assemblyFile); assembly = AppDomain.CurrentDomain.Load(asname); } catch (Exception e) { throw new AssemblyLoadException(assemblyFile, "  .", e); } /*    ,  . */ Object obj = null; try { obj = assembly.CreateInstance(d.ClassName); } catch (Exception e) { throw new ClassLoadException(d.ClassName, assembly.FullName, "    .", e); } return obj; } } 


рдирд┐рд╖реНрдХрд░реНрд╖


рдирдВрдЧреЗ рдХреЛрдб рдкрд░ рд▓реЗрдЦ рдХреЛ рдирд╣реАрдВ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд┐рд░реНрдл рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдЕрдиреБрднрд╡ рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдЙрддреНрдкрдиреНрди рд╣реЛрдВрдЧреА, рдЬрд┐рди рдкрд░ рдореИрдВрдиреЗ рдЧреМрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЯрд┐рдкреНрдкрдгреА рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред

рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирд╕реБрд▓рдЭреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ: рдпрджрд┐ рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдПрдХ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рддреЛ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рдЦрдкрдд рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ - рддреЛ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In133235/


All Articles