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

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

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдФрд░ рднреА рдЧрд▓рддрд┐рдпрд╛рдБ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдЖрдк рд░реЛрдЬрд▓рд┐рди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреИрдХреЗрдЬ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рддреЗ рд╣реИрдВред рдпреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕рдВрдЧреНрд░рд╣ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╕рдВрджреАрджрд╛ рд░реЛрдЬрд╝рд▓рд┐рди рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП
, рдЧрд┐рдЯрд╣рдм рдкрд░ рд░реЛрдЬрд╝рд▓рд┐рди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрдХрд░реНрддрд╛ рднрдВрдбрд╛рд░ рдкрд░ рдЬрд╛рдПрдБред рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдлрдПрдХреНрд╕рдХреЙрдк рдирд┐рдпрдо рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЕрднреА рднреА рдЖрдзреБрдирд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдм рд╣рдорд╛рд░реЗ рдЖрдзреБрдирд┐рдХ рд░реЛрдЬрд▓рд┐рди-рдЖрдзрд╛рд░рд┐рдд рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдордВрдЪ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рд╣реИрдВред рдЪрд▓реЛ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдФрд░ рдорд╣рд╛рди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдФрд░ рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ!
FxCop рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛:
- рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк Visual Studio 2017 рд╕рдВрд╕реНрдХрд░рдг 15.8 рдпрд╛ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ Microsoft.CodeAnalysis.FxCopAnalyzers рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
- рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ UI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

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

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

рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рдЖрдЗрдХрдиреНрд╕ рдЙрди рдЖрдЗрдХрдиреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдирд┐рдпрдо рдореЗрдВ рддрдм рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬрдм рдЗрд╕реЗ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ "I" рдПрдХ рд╕реВрдЪрдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
- "!" рдПрдХ рддреНрд░рд┐рдХреЛрдг рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
- рд╕рд░реНрдХрд▓ рдореЗрдВ "X" рддреНрд░реБрдЯрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
- рд╕рд░реНрдХрд▓ рдореЗрдВ "I" рдЫрд┐рдкреЗ рд╣реБрдП рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ
- рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ "тАЬ "рдПрдХ рджрдмреА рд╣реБрдИ рдирд┐рджрд╛рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

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

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

рдЕрдм рдЬрдм рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╣рд╛рди рдХреЛрдб рддреЗрдЬреА рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ!
рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди:
рдкреНрд░рд╢реНрди : рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрддрд╛рд╡рдиреА рдкрд░ рдЖрдпрд╛ рдерд╛: тАЬрд░рди рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ FxCop analyzers рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЪрд▓рддреЗ рд╣реИрдВред FxCop analyzers рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
aka.ms/fxcopanalyzers рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВ тАЭред рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
A : FxCop рдПрдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ рдПрдХ рджрд╢рдХ рд╕реЗ рд░реЛрдЬрд▓рд┐рди рд╕реЗ рдкрд╣рд▓реЗ рдерд╛ред рдЬрд┐рд╕ рддрд░рд╣ рд╣рдордиреЗ рдЕрдкрдиреЗ рдХрдВрдкрд╛рдЗрд▓рд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░реЛрдЬрд▓рд┐рди рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛) рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛, рдЙрд╕реА рддрд░рд╣ рд╣рдордиреЗ рдЕрдкрдиреА рдХреЛрдб рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рддрдХрдиреАрдХ рдХреЛ рднреА рд░реЛрдЬрд▓рд┐рди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдпрд╣ .NET рдХрдВрдкрд╛рдЗрд▓рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рдЪреЗрддрд╛рд╡рдиреА рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдкреНрд░рд╢реНрди : рд╡рд┐рд░рд╛рд╕рдд FxCop рдФрд░ FxCop analyzers рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ?
A : FxCop рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдФрд░ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ FxCop рдПрдХ рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣реИ рдФрд░ рдмрд┐рд▓реНрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ
рд▓рд┐рдП рджреЗрдЦреЗрдВ
рд░реЛрд╕рд▓рд┐рди рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдмрдирд╛рдо ред
рд╕реНрдерд┐рд░ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░
FxCop analyzers рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди ред
рдкреНрд░рд╢реНрди : рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ?
A : рдмрд┐рд▓реНрдХреБрд▓! рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦрдиреЗ рдкрд░ рдкреНрд░рд▓реЗрдЦрди
рдпрд╣рд╛рдБ рд╣реИ ред
рдкреНрд░рд╢реНрди : рдХреНрдпрд╛ рдореБрдЭреЗ рдХреЛрдб рд╕реНрдЯрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд░реЛрдЬрд▓рд┐рди рдпрд╛ .editorconfig рдкрд░реНрд╕рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдПрдХ : Roslyn analyzers рдФрд░ .editorconfig рдлрд╛рдЗрд▓реЗрдВ рд╣рд╛рде рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдЬрдм рдЖрдк рдХреЛрдб рд╢реИрд▓рд┐рдпреЛрдВ
рдХреЛ .editorconfig рдлрд╝рд╛рдЗрд▓ рдпрд╛
рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рд╡рд┐рдХрд▓реНрдк рдкреГрд╖реНрда рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Visual Studio рдореЗрдВ рдирд┐рд░реНрдорд┐рдд Roslyn analyzers рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░рд╢реНрди : рдХреНрдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг (CI) рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ?
рдПрдХ : рд╣рд╛рдБ, NuGet рд╕рдВрдХреБрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд analyzers CI рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рд╢реНрди : рдореИрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд╣рд╛рдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
A : рдЖрдк рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ GitHub рдкрд░
Roslyn рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрдЧ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред