рдлреЛрдбреА рдФрд░ рдЙрд╕рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕

рдЫрд╡рд┐

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





рддреЛ, рдлреЛрдбреА рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдг рд╣реИред рд╕реЗрдиреНрд╕рд┐рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдЖрдИрдПрд▓ рдХреЛрдб рдХреЛ рдЙрди рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рдХреНрд╖реНрдп рдХреЗ рд╕рд╛рде .рдиреЗрдЯ рдЕрд╕реЗрдВрдмрд▓реАред Fody рдПрдХ msbuild рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд▓рд╛рдЗрди рдкреНрд░рддреНрдпреЗрдХ ProjectName.project рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдЧреА



<Import Project="Fody.targets" />
      
      





IL рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рд░рд╛ рдХрд╛рд░реНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдлрд╝реЙрдбреА рдкреНрд▓рдЧ рдЗрди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

 <?xml version="1.0" encoding="utf-8" ?> <Weavers> <SuperPluginName /> </Weavers>
      
      





рдЕрдзрд┐рдХрддрдо рдХреБрдЫ рднреА рдирд╣реАрдВ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:

 public class ModuleWeaver { //    MSBuildLog public Action<string> LogInfo { get; set; } //  Mono.Cecil.ModuleDefinition    public ModuleDefinition ModuleDefinition { get; set; } public void Execute() { } }
      
      







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



рдкреНрд▓рдЧ-рдЗрди



рдлреЛрдбреА рдЦреБрдж рдХреЛ рдЬреНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ github.com/Fody/Fody рд╕реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд╕реЗрдЯ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╡рд░реНрдгрди рдмрд╣реБрдд рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд▓реЗрдЦрди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдмреНрд▓реЙрдЧ (alexeysuvorov.com) рдкрд░, рдореИрдВрдиреЗ рдкреНрд▓рдЧ рдЗрди рдХреЛ рдЙрдкрдпреЛрдЧреА / рдмреЗрдХрд╛рд░ * рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдореИрдВ рдЦреБрдж рдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИ:



Anotar

https://github.com/Fody/Anotar

рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рдФрд░ рдЙрд╕рдХреЗ рдХреЙрд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг / рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдХреЙрд▓ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп рд▓реЙрдЧрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдПрдХреАрдХрд░рдг рд╣реИрдВред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдВрджрд┐рдЧреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЗрд╕рдХрд╛ рд╕реНрд╡рд╛рдж рдФрд░ рд░рдВрдЧ рд╣реИред



AssertMessage

https://github.com/Fody/AssertMessage

 Assert.AreEqual(expectedCustomer.Money, actualCustomer.Money); // => Assert.AreEqual(expectedCustomer.Money, actualCustomer.Money, "Assert.AreEqual(expectedCustomer.Money, actualCustomer.Money);");
      
      





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



AsyncErrorHandler

https://github.com/Fody/AsyncErrorHandler

рдПрдХ рдХреЛрд╢рд┐рд╢ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдореЗрдВ async рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ

AsyncErrorHandler.HandleException (рдЕрдкрд╡рд╛рдж);

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



Bix.Mixers

https://github.com/rileywhite/Bix.Mixers.Fody

BixMix рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдгред BixMix рдЦреБрдж рд╣реА рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ рд╣реИ рдФрд░ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рджреЛрд╕реНрддреЛрдВ рдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдБ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред



Caseless

https://github.com/Fody/Caseless

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ = рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред рдЗрд╕реА StringComparison рдХреЗ рд╕рд╛рдеред рдореБрдЭреЗ рдмрд╣реБрдд рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдИрдПрд▓ рдЗрдВрдЬреЗрдХреНрдЯрд░ рдореЗрд░реЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реЗред



Catel.Fody

https://github.com/Catel/Catel.Fody

рдпрджрд┐ рдирд┐рд░реНрднрд░рддрд╛ DataObjectBase рдпрд╛ ViewModelBase рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ, рддреЛ DependencyProperty рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреИрдЯреЗрд▓ рдЦреБрдж рдХреЛ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░ рдврд╛рдВрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреИрдЯрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡рддрдГ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред



Commander.Fody

https://github.com/DamianReeves/Commander.Fody

MVVM рдХреЗ рд▓рд┐рдП рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреНрд╕ ICommandред рдПрдХ рдЕрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рд▓реЗрдЦрди рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред



Costura

https://github.com/Fody/Costura

ILMerge рдХреЗ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд▓рд┐рдПред Glues рдПрдХ рдореЗрдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред



FodyDependencyInjection

https://github.com/jorgehmv/FodyDependencyInjection

рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рдкреНрд▓рдЧрдЗрдиред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рддреЗ рд╣реБрдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ Ninject, Autofac рдпрд╛ Spring.Net рдХреЗ 3 IoC рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдЕрдВрджрд░ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрджреЗрд╢ рд╢реБрд░реВ рдореЗрдВ рдЧрд▓рдд рдерд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдХреЛрдб рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдирдд рдЯреВрдЯ рдЬрд╛рдПрдЧреАред



EmptyConstructor

https://github.com/Fody/EmptyConstructor

рдпрджрд┐ рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕ рдореЗрдВ рдПрдХ рдЦрд╛рд▓реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╕рдВрджреЗрд╣ рд╕реЗ рд╕рд╣рд╛рдпрдХред



EmptyStringGuard

https://github.com/thirkcircus/EmptyStringGuard

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



EnableFaking.Fody

https://github.com/philippdolder/EnableFaking.Fody

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



рдмрд░рд╛рдмрд░

https://github.com/Fody/Equals

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



ExtraConstraints

https://github.com/Fody/ExtraConstraints

рдЖрдкрдХреЛ рдЯрд╛рдЗрдк рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░ рдкреНрд░рддрд┐рдирд┐рдзрд┐, рдПрдирдо рдФрд░ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред C # рдРрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди IL рдореЗрдВ рд╡реЗ рдХрд╛рдлреА рдорд╛рдиреНрдп рд╣реИрдВред C # stackoverflow.com/questions/1331739/enum-type-constraints-in-c-sharp/1331811#1331811 рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреЗ рд╣реИрдВред



рдлреАрд▓реНрдбрд░

https://github.com/Fody/Fielder

рдЖрдВрдд рдХрд╛ рд░рдХреНрдд рдФрд░ рд╡рд┐рдШрдЯрди - рдЦреЗрддреЛрдВ рдореЗрдВ рд╕рднреА рдЫрд┐рджреНрд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ craziest рдкреНрд▓рдЧрдЗрдиред



freezable

https://github.com/Fody/Freezable

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



InfoOf

https://github.com/Fody/InfoOf

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



Ionad

https://github.com/Fody/Ionad

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



рдЪреМрдХреАрджрд╛рд░

https://github.com/Fody/Janitor

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



JetBrainsAnnotations

https://github.com/Fody/JetBrainsAnnotations

рдЬреЗрдЯ рджрд┐рдорд╛рдЧ рдФрд░ рдлрд┐рд░ рдЙрдкрджреНрд░рд╡, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ред



MethodCache

https://github.com/Dresel/MethodCache

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



MethodDecorator

https://github.com/Fody/MethodDecorator

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



MethodTimer

https://github.com/Fody/MethodTimer

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



Mixins.Fody

https://bitbucket.org/skwasiborski/mixins.fody/wiki/Home

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



ModuleInit

https://github.com/Fody/ModuleInit

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



Mutable.Fody

https://github.com/ndamjan/Mutable.Fody

рдлреНрд░реАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреАрдкреЛрдбред рдпрд╣ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рдмрдирд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рдВрдХрд▓рдХ рдиреЗ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЛ F # рдореЗрдВ XML рд╕реЗ рдбрд┐рд╕реНрдХреНрд░рд╛рдЗрдм рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Newton.Json рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп f # рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдЕрдЧрд░ рд╡рд┐рд░рд╛рд╕рдд xml рдирд╣реАрдВред



NullGuard

https://github.com/Fody/NullGuard

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



рдЕрдкреНрд░рдЪрд▓рд┐рдд

https://github.com/Fody/Obsolete

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



PropertyChanged

https://github.com/Fody/PropertyChanged

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



PropertyChanging

https://github.com/Fody/PropertyChanging

рдПрдХ рд╣реА рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди INotifyPropertyChanging рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдПред



рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдирд╛

https://github.com/Fody/Publicize

рдирд┐рдЬреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдмрдирд╛рддрд╛ рд╣реИ "рдЫрд┐рдкрд╛ рд╣реБрдЖред" рд▓реЗрдЦрдХ рдиреЗ рдкреНрд░реЗрд░рдгрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╣рдореЗрдВ рдЙрд╕рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдЫреЛрдбрд╝ рджреЗрдВред



RemoveReference.Fody

https://github.com/icnocop/RemoveReference.Fody

рдЖрдк рдЕрд╕реЗрдВрдмрд▓реА рд▓реЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрд╕реЗрдВрдмрд▓реА рдЖрдк рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рд╕рдВрджрд░реНрдн рд╕реЗ рдирд┐рдХрд╛рд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╢рд░реНрдорд┐рдВрджрдЧреА рдХреЗ рд╕рд╛рде рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдЦрдХ рдЗрд╕ рдХрдиреЗрдХреНрдЯ.рдорд┐рдХреНрд╕рд▓реЙрдЗрд╕ . com / VisualStudio / feedback / details / 779370 / vs2012-incorrectly-resolves-mscorlib.dersion-when-referencing-pcl-assembly рдмрдЧ рдХреЛ рдЯреНрд░реАрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рд╡рд╣ рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИред



resourcer

https://github.com/Fody/Resourcer

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд╛рдо рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рд╕реБрдЧрдо рдмрдирд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдмрдирд╛рддрд╛ рд╣реИ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдврд╝рд┐рдпрд╛ рд╡рд┐рдХрд▓реНрдкред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдореЗрдВред



рдЫреБрд░реА

https://github.com/Fody/Scalpel

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



рдбрд╛рдХ рдЯрд┐рдХрдЯ

https://github.com/Fody/Stamp

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



рдХрдЯрд╛рд░

https://github.com/benjamin-bader/stiletto

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



ToString

https://github.com/Fody/ToString

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



рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп

https://github.com/Fody/Usable

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



Validar

https://github.com/Fody/Validar

рдЖрдкрдХреЛ IDataErrorInfo рдФрд░ INotifyDataErrorInfo рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ INotifyPropertyCanged рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред InjectValidation рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХреЛ ValataationTemplate рдирд╛рдо рдХреЗ рд╡рд░реНрдЧ рд╕реЗ IDataErrorInfo рдФрд░ INotifyDataErrorInfo рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдирд┐рд░реНрдорд╛рддрд╛ INotifyProettyChanged рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк WPF рдХреЗ рддрд╣рдд рд▓рд┐рдЦрддреЗ рд╣реИрдВ - рддреЛ рдЕрд╡рд╢реНрдп рджреЗрдЦреЗрдВ, рд╢рд╛рдпрдж рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред



рдХрд▓реНрдкрдирд╛

https://github.com/Fody/Visualize

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



рд╡рд╣ рд╕рдм рд╣реИред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП fody plugins рдХреА рдЦреЛрдЬ рдореЗрдВ github рдХреЗ рдЖрд╕рдкрд╛рд╕ рднрдЯрдХрдиреЗ рд╕реЗ рдмрдЪрд╛рдпрд╛ред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред



* рдореИрдВрдиреЗ рдЕрдкрдиреА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рд╕рдЦреНрддреА рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рд░реЛрдз рдХрд░реЗрдВред



All Articles