Aspnetcore: рдирдпрд╛ ASP.NET Core 2.0 рдкреИрдХреЗрдЬ рдЕрдм .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдордИ 2017  ┬╖  761рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: "ASP.NET Core 2.0 рдХреЗ рд▓рд┐рдП рдХреЛрдИ .NET Framework рд╕рдорд░реНрдерди рдирд╣реАрдВ" рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ ASP.NET Core 2.0 рдЪрд▓рд╛рдирд╛ рдЕрдЧрд▓реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, ASP.NET Core 2.0.0-Preview1 рдХреА рдШреЛрд╖рдгрд╛ рдФрд░ .NET рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдкрдврд╝реЗрдВ рдпрд╛ .NET Standard 2.0 рдФрд░ .NET Core 2.0 рджреЗрдЦреЗрдВред

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

рднрд▓реЗ рд╣реА рд╣рдо рд╕рднреА рдХреА рд░рд╛рдп рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереА, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝реА - рдФрд░ рдЕрднреВрддрдкреВрд░реНрд╡ - рд╕рдлрд▓рддрд╛ рд╣реИ (>150 рдкреНрд░рддрд┐рднрд╛рдЧреА рдФрд░ 700 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрджреЗрд╢, рд╡реВрдЯ!)

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдорд╣рд╛рди рд╕рдореБрджрд╛рдп рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦрдирд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ, рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рдЧрд░реНрд╡ рд╣реИ: call_me_hand:


рдореВрд▓ рд╕рдВрджреЗрд╢: рдЖрдЬ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ ASP.NET Core 2.0 рдкреИрдХреЗрдЬреЛрдВ рдХреЛ netstandard1.* рдФрд░ net4* $ рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/ aspnet/Security/pull/1203 рдФрд░ https://github.com/aspnet/Mvc/pull/6234), рдЬрд┐рд╕рд╕реЗ рд╡реЗ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдореЛрдиреЛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реЛ рдЧрдП рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдмрдбрд╝реЗ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рдВрдкреВрд░реНрдг ASP.NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдкрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░ рди рддреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдФрд░ рди рд╣реА рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ (рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ ASP.NET рдЯреАрдо рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЕрдкрдиреЗ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИ)ред

рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ, @Eilon рдиреЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рдкреАрдЫреЗ рдХреЗ рддрд░реНрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдХрд┐ рдХрдо рдЪрд░рдо рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рди, netstandard2.1 TFM, рдЖрджрд┐ рдХрд╛ рдкрд░рд┐рдЪрдп):

рд╣рд╛рдБ, ASP.NET Core 2 рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирдП API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET Core 2 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЕрднреА рддрдХ .NET рдорд╛рдирдХ TFM рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдХреЛрдб рдЬрд┐рд╕реЗ Microsoft.Extensions.*, Entity Framework Core, рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдЬреИрд╕реЗ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, .NET рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред

рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рд╕рд░рд▓ рд╣реИ: рдХреНрдпрд╛ рдЖрдк RTM рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд/рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд▓реЛрдЧ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ ASP.NET Core 2.0 рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ, рдпрд╛ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ ASP.NET Core 2.0 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореГрдд рд╣реИ? (рдЬреЛ рдореЗрд░реЗ рд╕рд╣рд┐рдд рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛)ред

рдзрдиреНрдпрд╡рд╛рджред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

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

  • рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ .NET рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдкреВрд░реНрдгрддрдпрд╛ рд╕рд╣рдорддред

    • рд╣рдо ASP.NET Core 2.0 рдФрд░ EVERYWHERE рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    • рд╣рдо рдЯрд╛рдЗрдк рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдФрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 20 рдХреЗ рдХрд╛рд░рдг ASP.NET Core 2.0 рд╕реЗ рдХрдИ net461+ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  • рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ WebApps рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:

    • рдПрдбреА - рдкреВрд░реА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдПрд▓рдбреАрдПрдкреА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ DirectoryServices рдирд╛рдо рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ

    • рдЖрд░реЗрдЦрдг - рдмрд┐рд▓рдХреБрд▓, рдпрд╣ рдПрдХ рдЕрдВрддрд░рд╛рд▓ рд╣реИред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рддрдХ, рдпреЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╡рд┐рдХрд▓реНрдк рднреА рдореМрдЬреВрдж рд╣реИрдВ ImageSharp, ImageResizer, Mono рд╡рд┐рдХрд▓реНрдк, рдЖрджрд┐

    • рдХреЙрдо рдСрдЯреЛрдореЗрд╢рди - рдХреЛрд░ 2.0 рдХреЗ рддрд╣рдд рдпрд╣ рдХрднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЦреБрдж рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд┐рдирд╡реЛрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрдж рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдиреЗрдЯ 461+ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╡реЗрдмрдПрдкреАрдЖрдИ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    • WFP рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ - рд╣рд╛рдБред рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред

  • рдпрд╣ рдПрдХ рдЕрдЬреАрдм рдмрджрд▓рд╛рд╡ рд╣реИред

    • рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди...

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЛред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдиреЗрдЯ 461+ рдкрд░ рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рд╣реИред рдпрд╣ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб libs рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддрд╛ рд╣реИред ASP.NET Core 2.0 Core 2.0 рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрд╝рд╛рдорд░реАрди рд╡рд╣реА рд╣реИред

.NET Core рд╕рд╛рде-рд╕рд╛рде рд╣реИ рдФрд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ .NET (рдкреВрд░реНрдг) рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред .NET Core 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ ASP.NET Core 2.0 рдХрд╛ рдирд┐рд░реНрдорд╛рдг (рдЬреЛ, рдпрд╛рдж рд░рдЦреЗрдВ, .NET рдорд╛рдирдХ рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ NetFx рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рднреА рддреЗрдЬреА рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

NetCore > Net Standard > NetFx рдЬрдм рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдФрд░ рдирд╡рд╛рдЪрд╛рд░ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред

рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдирдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ netstandard20. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреЗ net461+ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ ASP.NET Core 2.0 рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

ASP.NET Core 1.1, рдЬреЛ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, 2.0 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ред рд╡рд╣ рдХрд╛рд░реНрдпрднрд╛рд░ 2018 рдХреЗ рдХрдо рд╕реЗ рдХрдо рдЬреБрд▓рд╛рдИ рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред

.NET рдХреЛрд░ 2 рдореЗрдВ рд▓рд╛рдкрддрд╛ рд╢реЗрд╖ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ System.DirectoryServices рдФрд░ System.Drawing рд╣реИрдВред рд╣рдо рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреИрдЯ рдкреИрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ .NET рдХреЛрд░ рдкрд░ рджреЛрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред

рд╣рдореЗрдВ рдЖрдк рд╕рднреА рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реВрдЪреА/рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ net461+ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ASP.NET Core 2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рднреА 761 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рдФрд░ рдмреБрд░рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ netfx-only asp.net рдХреЛрд░ рдХреЛрдб рд▓рд┐рдЦреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЙрд╕ рдирд┐рд╡реЗрд╢ рдХреЛ рд╡реНрдпрд░реНрде рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ред рдЖрдо рддреМрд░ рдкрд░, .NET рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛрд░ рдФрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛрдб рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдРрд╕реЗ рд╡реЗрдмрдПрдкреНрд╕ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдпрд╛ рдСрдлрд┐рд╕ COM рдСрдЯреЛрдореЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЬреЛ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдердВрдмрдиреЗрд▓ рдХрд░рддреЗ рд╣реИрдВред рдбреНрд░реЙрдЗрдВрдЧ рдЖрдзрд╛рд░рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдпрд╛ wpf рдРрдк рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рддреБрдЪреНрдЫ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдмрд╕ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ AspNetCore 1.1.1 - рдпрд╛рдиреА "рд╡рд░реНрддрдорд╛рди" рд╕рдорд░реНрдерди рд╢рд╛рдЦрд╛ рдкрд░ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо Net4XX рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг 2.0 рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ 2.0+3рдорд╛рд╣реЛрдВ рдХреЗ рдЧрд┐рд░рдиреЗ рдкрд░ рд╣рдо рдЕрд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдВрдЧреЗ?

рд╣рдо рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдФрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдИ 2.0 рдирд╣реАрдВ рд╣реИ?

рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ 4.6.1 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдореЗрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ? (https://docs.microsoft.com/en-us/dotnet/articles/standard/library)

рдХреНрдпрд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдЯреВрд▓реАрдВрдЧ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИ?

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

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

рдЯреАрдореЛрдВ рдХреЛ рдЗрд╕ рдкрд░ рддрд░реНрдХ рдХрд░рддреЗ рд╣реБрдП рд╕реБрдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛

рдУрд╣, рддреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХреАрдХрд░рдг рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП netcoreapp2.0 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗрд╡рд▓ netfx libs рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ? рдЙрд╕рд╕реЗ рдХрд╛рдлрд╝реА рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░рд╛ рдкреНрд░рд╢реНрди, рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рдиреЗ рдкрд░ рдХреЛрд░ рд╕реАрдПрд▓рдЖрд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдирд╛ рдХреЛрдб рдХрд╛рдо рдХрд░реЗрдЧрд╛ ..

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

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

рдПрдХ рдмрдбрд╝реЗ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ (рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдмрд┐рдирд╛) рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХреЛрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдирдП ASP.NET рдХреНрд▓рд╛рд╕реЗрд╕ (HttpRequest, рдХрдВрдЯреНрд░реЛрд▓рд░, рдЖрджрд┐) рдореЗрдВ рдЬрд╛рдирд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рд╣реИред

рд╢рд╛рдпрдж @DamianEdwards рдпрд╛ @davidfowl рдпрд╣рд╛рдВ рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдЦреЛрдЬрдиреЗ рдореЗрдВ рднреА рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд░рд╣реА рд╣реИред

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

  • рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ .NET рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдкреВрд░реНрдгрддрдпрд╛ рд╕рд╣рдорддред

    • рд╣рдо ASP.NET Core 2.0 рдФрд░ EVERYWHERE рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    • рд╣рдо рдЯрд╛рдЗрдк рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдФрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 20 рдХреЗ рдХрд╛рд░рдг ASP.NET Core 2.0 рд╕реЗ рдХрдИ net461+ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

  • рдЖрдкрдиреЗ рдХрд╣рд╛ рдХрд┐ WebApps рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:

    • рдПрдбреА - рдкреВрд░реА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдПрд▓рдбреАрдПрдкреА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ DirectoryServices рдирд╛рдо рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ

    • рдЖрд░реЗрдЦрдг - рдмрд┐рд▓рдХреБрд▓, рдпрд╣ рдПрдХ рдЕрдВрддрд░рд╛рд▓ рд╣реИред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рддрдХ, рдпреЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╡рд┐рдХрд▓реНрдк рднреА рдореМрдЬреВрдж рд╣реИрдВ ImageSharp, ImageResizer, Mono рд╡рд┐рдХрд▓реНрдк, рдЖрджрд┐

    • рдХреЙрдо рдСрдЯреЛрдореЗрд╢рди - рдХреЛрд░ 2.0 рдХреЗ рддрд╣рдд рдпрд╣ рдХрднреА рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЦреБрдж рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд┐рдирд╡реЛрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрдж рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдиреЗрдЯ 461+ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╡реЗрдмрдПрдкреАрдЖрдИ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

    • WFP рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ - рд╣рд╛рдБред рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред

  • рдпрд╣ рдПрдХ рдЕрдЬреАрдм рдмрджрд▓рд╛рд╡ рд╣реИред

    • рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди...

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЛред рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдиреЗрдЯ 461+ рдкрд░ рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рд╣реИред рдпрд╣ рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб libs рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддрд╛ рд╣реИред ASP.NET Core 2.0 Core 2.0 рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрд╝рд╛рдорд░реАрди рд╡рд╣реА рд╣реИред

.NET Core рд╕рд╛рде-рд╕рд╛рде рд╣реИ рдФрд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ .NET (рдкреВрд░реНрдг) рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред .NET Core 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ ASP.NET Core 2.0 рдХрд╛ рдирд┐рд░реНрдорд╛рдг (рдЬреЛ, рдпрд╛рдж рд░рдЦреЗрдВ, .NET рдорд╛рдирдХ рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ NetFx рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рднреА рддреЗрдЬреА рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

NetCore > Net Standard > NetFx рдЬрдм рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рдФрд░ рдирд╡рд╛рдЪрд╛рд░ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред

рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдирдпрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ netstandard20. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреЗ net461+ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ ASP.NET Core 2.0 рдХреЗ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

ASP.NET Core 1.1, рдЬреЛ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, 2.0 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ред рд╡рд╣ рдХрд╛рд░реНрдпрднрд╛рд░ 2018 рдХреЗ рдХрдо рд╕реЗ рдХрдо рдЬреБрд▓рд╛рдИ рддрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред

.NET рдХреЛрд░ 2 рдореЗрдВ рд▓рд╛рдкрддрд╛ рд╢реЗрд╖ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ System.DirectoryServices рдФрд░ System.Drawing рд╣реИрдВред рд╣рдо рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреИрдЯ рдкреИрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ .NET рдХреЛрд░ рдкрд░ рджреЛрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред

рд╣рдореЗрдВ рдЖрдк рд╕рднреА рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реВрдЪреА/рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ net461+ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ASP.NET Core 2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ .NET рдорд╛рдирдХ 2.0 рд╕рдВрдЧрддрддрд╛ рдФрд░ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ рдЬреЛ .NET рдХреЛрд░ рдФрд░ .NET fx рдХреЗ рдмреАрдЪ рдХреА рдЦрд╛рдИ рдХреЛ рдкрд╛рдЯрддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рд░ рдХреЛрдИ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реЛрдВрдЧреА рдЬрд┐рдирдХреЗ рд▓рд┐рдП .NET 4.x рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЪрд╛рд╣реЗ рд╡рд╣ рдХрд╕реНрдЯрдо рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛, рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдШрдЯрдХ, рд╡рд┐рд░рд╛рд╕рдд lib рдирд┐рд░реНрднрд░рддрд╛ рдЗрддреНрдпрд╛рджрд┐ рд╣реЛред

рдХреНрдпрд╛ рдпрд╣ рдЗрд░рд╛рджрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдбреЗрд╕реНрдХрдЯреЙрдк CLR рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ ASP.NET Core 2.0 рдРрдк рдирд╣реАрдВ рдмрдирд╛ рдкрд╛рдПрдВрдЧреЗ рддрд╛рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ .NET 4.x рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХреЗрдВ?

@shanselman рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рд╡рд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЪреНрдЫреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдиреБрд╡рд░реНрддреА:
рдХреНрдпрд╛ рд╕рднреА рдЕрдореВрд░реНрдд рдХрд╛рд░реНрдп рдХреНрд░реЙрд╕-рд╕рдВрдХрд▓рд┐рдд рд░рд╣реЗрдВрдЧреЗ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореИрдВ HttpRequest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рддреЛ 1.x рдФрд░ 2.x рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ ASP.NET рдХреЛрд░ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдмрдирд╛рддрд╛ рд╣реИ (рдЬреЛ рдЕрдм рдХрдо рд╕реЗ рдХрдо рдПрдХ TFM рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИ) рдХреБрдЫ рд╣реЛрдЧрд╛ рдореИрдВ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ ...рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдореВрд░реНрдд netstandard рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ рд╣реИ?

рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ASP.NET/MVC рдкрд░ рдирд┐рд░реНрднрд░ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдП рд╣реБрдП рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ System.Web рдХрд╛ HttpRequest рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП MiniProfiler рдмрдирд╛рдо MiniProfiler.AspNetCore )ред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рднреА lib рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рд░рдЦрдиреЗ рдкрд░ рд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦ рд░рд╣реЗ рд╣реИрдВ рдпрджрд┐ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ netstandard рд╕реЗ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ ... рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдмрд╕ рдЙрд╕ рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдПрдХ рд╕рд╛рде рдмрдЪреЗрдВред

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

рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдкреНрд░рд╢реНрди/рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВ:

  • рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core рд╕реЗ .NET Framework рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдиреНрдпреВрдирддрдо рдШрд░реНрд╖рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рджрдо рдмрдврд╝рд┐рдпрд╛! рджреВрд╕рд░реА рддрд░рдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рд╡рд╣рд╛рдБ рд╢рд╛рдпрдж .NET Framework рдпрд╛ netstandard рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ рдЬреЛ Mvc рдФрд░ рдЕрдиреНрдп рд╕рд╣рд╛рдпрдХ ASP.NET рдХреЛрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рднрд╛рдЧреЛрдВ рдпрд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдпреБрдЧрд▓ рд╣реИ)ред рд╡реЗ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗ, рд╣реИ рдирд╛? рдХреНрдпрд╛ рдЙрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ? рдпрджрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдм ASP.NET рдХреЛрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдореНрдмреЗрдбреЗрдб ASP.NET рдХреЛрд░ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

  • рдЧреИрд░-рддрдХрдиреАрдХреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рднреНрд░рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред рдЧрд┐рдЯрд╣рдм рдкрд░ рд╕рдХреНрд░рд┐рдп рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд╣рд░, рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВ, рдЖрджрд┐ред рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рднреНрд░рдо рд╣реИ, рдЖрджрд┐ред рдореИрдВ рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЬреЛ рдЕрднреА рдЙрда рд░рд╣реЗ рд╣реИрдВ рдЬрдм рд╡реЗ ASP.NET Core (рд╢рд╛рдпрдж рдПрдХ рдкреБрд░рд╛рдиреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рдкрд╛рддреЗ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдпрджрд┐ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдо рдЯрд╛рдЗрдк рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдФрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 20 рдХреЗ рдХрд╛рд░рдг ASP.NET Core 2.0 рд╕реЗ рдХрдИ net461+ рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

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

.NET Core 2.0 рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдХрдИ "рдкреБрд░рд╛рдиреЗ" API рд╕реНрдЯрдмреНрд╕ рд╣реИрдВ рдЬреЛ рдХрднреА рднреА (рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ) рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрднреА рднреА рдХрдИ рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рднреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ .NET рдХреЛрд░ (рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреАрдореЙрдбрд▓, рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рд╕рд░реНрд╡рд░, рд░рд┐рдореЛрдЯрд┐рдВрдЧ, рдкреВрд░реНрдг рдРрдкрдбреЛрдореЗрди рд╕рдорд░реНрдерди, рдЖрджрд┐) рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ ASP.NET Core 1.0 w/.NET рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдХреЛ ASP.NET Core 2.0 w/ .NET Core рдореЗрдВ "рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ" рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - IMHO - рдПрдХ рдЭреВрда рд╣реИред

.NET Core рд╕рд╛рде-рд╕рд╛рде рд╣реИ рдФрд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ .NET (рдкреВрд░реНрдг) рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред .NET Core 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ ASP.NET Core 2.0 рдХрд╛ рдирд┐рд░реНрдорд╛рдг (рдЬреЛ, рдпрд╛рдж рд░рдЦреЗрдВ, .NET рдорд╛рдирдХ рдХрд╛ рдПрдХ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ NetFx рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рднреА рддреЗрдЬреА рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ (рдЕрдзрд┐рдХрд╛рдВрд╢) рд▓реЛрдЧ рдпрд╣реА рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд┐рд░ рд╕рд╛рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛рдП рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рд╕рд╛рдорд╛рди рдореЗрдВ рдЗрдирд╛рдпрдд рд╕реЗ рдПрдХреАрдХреГрдд рд╣реЛ рд╕рдХреЗред

@daveaglick

  • рдЗрд╕рдореЗрдВ рд╕рд╣реА рд╣реИ рдХрд┐ netcoreapp2.0 рдХреЛ net461 рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ netstandard2.0 рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИред рдкреБрд▓ рдПрдХ рддрд░рдл рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдкреИрдХреЗрдЬ рдлрд╝реЙрд▓рдмреИрдХ рдХреЗ рд▓рд┐рдП рдЯреАрдПрдлрдПрдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдПрд╕реНрдХреЗрдк рд╣реИрдЪ рд╣реИ, рд╕рдорд░реНрдерд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдирд╣реАрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛)ред рдмрдбрд╝реЗ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд╣рд░ ASP.NET рдХреЛрд░ рдХреЗ рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рд░рд╛рд╢рд┐ рд╣реИ (рдЬреЛ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг netstandard рдХрд╛ рдЕрд░реНрде рд╣реИ)ред
  • рднреНрд░рдо рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рджреЛрдиреЛрдВ рддрд░рд╣ рд╕реЗ рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реИрдВ рдХрд┐ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ "рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░" .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ .NET рдХреЛрд░ рдирд╣реАрдВ рд╣реИ) рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░ рдХреЛ .NET рдХреЛрд░ рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@shanselman BTW, рдЖрдкрдиреЗ рдпрд╣ рдирд╣реАрдВ рдХрд╣рд╛ рдХрд┐ рдХреНрд░реЙрд╕ рд╕рдВрдХрд▓рди рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рдерд╛ред ASP.NET рдХреЛрд░ рдШрдЯрдХ рдЬреЛ netcoreapp2.0 рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ -рдХреЗрд╡рд▓ API рдореЗрдВ net46 / netstandard1.x / netstandard2.0 рдФрд░ netcoreapp2.0 TFM рджреЛрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирдпрд╛ рдХреВрд▓/рдлрд╛рд╕реНрдЯ рд╕реНрдЯрдл рдмрдирд╛рдПрдВ .NET рдХреЛрд░-рдУрдирд▓реАред

@NickCraver рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ netstandard рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ *.рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдкреИрдХреЗрдЬ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИред рдЕрд▓рдЧрд╛рд╡ рдмрд╕ рдЗрддрдирд╛ рд╕рд╛рдл рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ рдкреВрд░реЗ рдмреЛрд░реНрдб рдореЗрдВред рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдкреИрдХреЗрдЬ рд▓рдХреНрд╖реНрдп рдлрд╝реЙрд▓рдмреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рд╡рд╣рд╛рдВ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдк рд╕рд╛рдл рдЯреАрдПрдлрдПрдо рд╡рд┐рднрд╛рдЬрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдлрд╛рдпрджрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдПрдХрд▓ рдкреИрдХреЗрдЬ рдЕрдм рдЯреАрдПрдлрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдзреБрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 1.x рдФрд░ 2.0+ рдХреЛ рдПрдХ рд╕рд╛рде рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ "рдорд┐рд╢реНрд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ" рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдШреВрдо рд░рд╣рд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдПрдкреАрдЖрдИ рдпрд╛ рдПрдХ рд╕рд░реНрд╡рд░ рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдФрд░ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рджреЛрдиреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдпрд╣ рдкрд╣рд▓реЗ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдЗрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ ASP.NET Core рдХреЛ "рд╕рд┐рд░реНрдл рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп" рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдирдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдмрдирд╛рддрд╛ рд╣реИред

@PinpointTownes рдХреЗ рд░реВрдк рдореЗрдВ @shanselman рдиреЗ рдХрд╣рд╛, рд╣рдо рдЙрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдЕрд╡рд░реЛрдзрдХреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕реАрдзреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣реИрдВред рдЗрд╕ рдирд╛рд╡ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдХрд╛рдо рдиреЗ рдЕрдм рддрдХ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ рдХрд┐ System.DirectoryServices рдФрд░ System.Drawing рдФрд░ рдирдВрдмрд░ 1 рдФрд░ 2 рдЕрд╡рд░реЛрдзрдХ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдлреАрдбрдмреИрдХ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЖрдХрд▓рди рдХрд░реЗрдВрдЧреЗред

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

@DamianEdwards рдЖрдЧреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб -> ASP.NET рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рд╣реИред рдореИрдВ рдХрдИ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ (рдЬреЛ рдиреЗрдЯрдХреЛрд░рдПрдк рдореЗрдВ рднреА рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ) рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдХрдИ рдЬрдЧрд╣реЛрдВ рдкрд░ рд░реЗрдЬрд░ рдХреЛ рднреА рдПрдореНрдмреЗрдб рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирдП рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡рд╣ рдХреЗрд╡рд▓ рдиреЗрдЯрдХреЛрд░рдПрдк рдХреЛ рднреА рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ред рдРрд╕реЗ рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реИрдВ рдЬреЛ ASP.NET Core рдХрд╛ "рд╣рд┐рд╕реНрд╕рд╛" рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рд╣реИрдВред

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

@daveaglick рд░реЗрдЬрд░ рд╕реНрд╡рдпрдВ (рдЗрдВрдЬрди) netstandard рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред рдлрд┐рд░, рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдПрдХ рдмрдбрд╝реЗ рдЬрдЯрд┐рд▓ рдЧреНрд░рд╛рдл (рдЬреИрд╕реЗ ASP.NET Core 2.0) рдХреЗ рд╡рд┐рд╢реЗрд╖ рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд▓рд╛рдЧрдд рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ (рд╕реНрд░реЛрдд рдПрдореНрдмреЗрдбрд┐рдВрдЧ, рдХреЙрдкреА рдХрд░рдирд╛, рдЖрджрд┐) рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЯреНрд░реЗрдб-рдСрдлрд╝ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВред

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

рдореИрдВ рдпрд╣рд╛рдВ @daveaglick рдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ: ASP.NET рдХреЛрд░ рдирд╡реАрдирддрдо рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред 1.0 рд╕реНрдерд┐рд░ рдпрд╛ рдЙрдиреНрдирдпрди рдХреЗ рдмрд╛рдж рдЖрдкрдХреЛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рдЖрдк netcoreapp2.0 рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЯреНрд░реЗрди рдореЗрдВ рд╣реИрдВ рдФрд░ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрджрд┐ рд╕рднреА рдмрд┐рдЯреНрд╕ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдореВрд▓ рдЕрдореВрд░реНрдд) рдХрд╛ рдЙрдкрднреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ netcoreapp2.0 рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдкреВрд░реА рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдХреЛрдИ netstandard2.0 рдирд╣реАрдВ рд╣реИ ... рдФрд░ рд╣рд░ рдХреЛрдИ рдЬреЛ рдЙрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

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

Kestrel рдорд╛рдорд▓рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдирд╡реАрдирддрдо API рд╕реЗрдЯ рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджреЗрдЦрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдП рдПрдкреАрдЖрдИ рд▓рдЧрд╛рддрд╛рд░ Kestrel рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЬрд╛рдПрдВрдЧреЗ рдЬреЛ рдХрд╛рдо рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

@PinpointTownes рдХреЗ рд░реВрдк рдореЗрдВ @shanselman рдиреЗ рдХрд╣рд╛, рд╣рдо рдЙрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдЕрд╡рд░реЛрдзрдХреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕реАрдзреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╣реИрдВред

рдПрдХ рд╕рд▓рд╛рд╣рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЛ рдЙрдирдХреЗ рдРрдкреНрд╕ рдХреЛ ASP.NET рдХреЛрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреА рдФрд░ рдореБрдЭреЗ рдЕрдХреНрд╕рд░ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ рддрд╛рдХрд┐ рд╡реЗ IdentityModel / WCF рдпрд╛ рдРрдкрдбреЛрдореЗрди рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддреГрддреАрдп-рдкрдХреНрд╖ (рдмрдВрдж-рд╕реНрд░реЛрдд) рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХреЗрдВред рд╕рд╣рдпреЛрдЧред

ASP.NET Core 2.0 рдореЗрдВ рдЗрди рдЪреАрдЬреЛрдВ рдХрд╛ рди рд╣реЛрдирд╛ рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛ред

рдРрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рднрд▓реЗ рд╣реА рдПрдкреАрдЖрдИ рд╡рд╣рд╛рдВ рд╣реЛрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдВрдЧреЗред рдпрд╣рд╛рдБ рдПрдХ рдареЛрд╕ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рджреЗрдЦрд╛ рд╣реИ:

.NET рдХреЛрд░ рдкрд░, RSA.Create() рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ RSACng рдЗрдВрд╕реНрдЯреЗрдВрд╕ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░, RSACryptoServiceProvider рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рднреА, рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп - рдмреАрдПрд▓рд╕реА рд╕рд╣рд┐рдд - RSA рд╕реЗ RSACryptoServiceProvider рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ .NET рдХреЛрд░ рдкрд░ рд╣рдореЗрд╢рд╛ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ RSACng рдХреЛ RSACryptoServiceProvider рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@NickCraver рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреМрди рд╕реЗ рдЕрдореВрд░реНрдд? рдХреЗрд╡рд▓ рд╕рд╛рд░ рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдЖрдк рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЙрди рдЕрдореВрд░реНрддрддрд╛рдУрдВ рдкрд░ рднреА рдмрдирддреА рд╣реИрдВ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╕рдЪрдореБрдЪ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ Microsoft.AspNetCore.Http.Abstracts рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ)

@davidfowl рд╣рд╛рдБ, рдХреЗрд╡рд▓ рд╕рд╛рд░ рддрддреНрд╡: рдЬреИрд╕реЗ HTTP, рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, HTML, рдФрд░ рд▓реЙрдЧрд┐рдВрдЧред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Microsoft.Extensions.* рдкрд╣рд▓реЗ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╣реИрдВ, рдЬреЛ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣реИред рд╡реЗ рд╣реА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рдЖрдЬ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдорд┐рдиреАрдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ ( рд▓рд┐рдВрдХ )

рдпрджрд┐ рдЖрдк рдПрдорд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрд╕реЗ рднреА netcoreapp2.0 рдкрд░ рд╣реИрдВ, рдФрд░ рдпрд╣реА рд╡рд╣ рд╣реИ (рдФрд░ рдЖрдИрдПрдордУ, рдпрд╣ рдареАрдХ рд╣реИ)ред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдореВрд░реНрдд рд╣реИрдВред рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдмрд╣реБрдд рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдмрдВрдж рди рдХрд░реЗрдВред

рд╣реЗред рдПрдХ рд╕рд▓рд╛рд╣рдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдХреНрдпрд╛? ASP.NET Core рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдЪрд▓рддрд╛ рд╣реИ .NET Framework!?" рд╕реБрдирд╛ рд╣реИред рдХрд╛рдлреА рдмрд╛рд░ рд╕рд╡рд╛рд▓ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ "ASP.NET Core" рдХрд╛ рд╢рд╛рдмреНрджрд┐рдХ рдирд╛рдо ".NET Core" рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИред

рд╡реИрд╕реЗ рднреА ... рдЬрд┐рд╕ рддрд░рд╣ рдореИрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд/рд╡рд┐рд░рд╛рд╕рдд/рдЯреВрдЯреЗ рд╣реБрдП рдПрдкреАрдЖрдИ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдерд╛ рдЬрдм .NET рдХреЛрд░ рд╢реБрд░реВ рд╣реБрдЖ (рдПрдХ "рддрд╛рдЬрд╛" рд╢реБрд░реБрдЖрдд), рдореИрдВ рднреА рддреЗрдЬ, рджреБрдмрд▓рд╛ рдврд╛рдВрдЪрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдирд╡рд╛рдЪрд╛рд░ рдХреА рдЙрдЪреНрдЪ рджрд░ рдХреЗ рд╕рд╛рдеред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА, рдореИрдВ рдЙрди рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рднреА рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд░рдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдЬреВрди рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╕рднреА рдХреЛрдб рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЗрд╕рдореЗрдВ рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рдХреНрд▓рд╛рдЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╡рд┐рд░рд╛рд╕рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп/рдврд╛рдВрдЪрд╛ рд╣реИ, рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдХрдИ ASP.NET рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдпреЗ рд╕рд┐рд╕реНрдЯрдо рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рддрдм рддрдХ рдпрд╛ рддреЛ a) рд╕рдм рдХреБрдЫ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ b) ASP.NET Core 1.x рдХреЗ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдм рдХреБрдЫ ASP.NET рдХреЛ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдПрдХ рд╕рд╛рд▓ рдХрд╛ рд╕рдорд░реНрдерди рд╡рд╛рдХрдИ рдХрд╛рдлреА рд╣реИ? рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЕрдиреНрдп рдорд╛рдорд▓реЗ рднреА рд╣реИрдВ ...

@khellang рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рд╡реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ/рдврд╛рдВрдЪреЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗ рдЬрд┐рди рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ netstandard2.0 рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЙрд╕ рд╕реНрдерд╛рди рдХреЗ рдмрд╛рд╣рд░ рдХреА рдЪреАрдЬреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ? рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рд╣рдо рдЙрди рдПрдкреАрдЖрдИ (рдЬреИрд╕реЗ System.DirectoryServices рдФрд░ System.Drawing ) рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░ рд╕рдХреЗрдВред

рддреЛ рдПрдХ рд╡реЗрдм рдПрдкреАрдЖрдИ (рд╕рдВрдЪрд╛рд░ рдкрд░рдд рдХрд╣реЗрдВ) рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рд╕реЙрдХреЗрдЯ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рдирд╛ рдореМрдЬреВрджрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛ рдпрд╛ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рдПрдЧрд╛? (рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде)ред

рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдЧреА рдЬреЛ netstandard1.x рд╣реБрдЖ рдХрд░рддреА рдереА рдЬреЛ рдЕрдм netcoreapp2.0 рд╣реИ

рдореИрдВрдиреЗ рд░реЗрдкреЛ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдорд╡реАрд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬреЗрдВ netcoreapp2.0 рд╣реИрдВ рд▓реЗрдХрд┐рди рдПрдЪрдЯреАрдкреАрдПрдмреНрд╕реНрдЯреНрд░рдХреНрд╢рди, рд▓реЙрдЧрд┐рдВрдЧ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрддреНрдпрд╛рджрд┐ рдЕрднреА рднреА netstandard рд╣реИрдВ рдпрд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдмрджрд▓рд╛рд╡ рд╣реИрдВ?

@NickCraver рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрднреА рднреА System.Web рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ Microsoft.AspNetCore.Http.HttpContext рдХреЛ System.Web.HttpContext $ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рддрдиреЗ рдПрдкреАрдЖрдИ рдХреА рдЬрд░реВрд░рдд рд╣реИ?

рдпрджрд┐ рдЖрдк рдПрдорд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрд╕реЗ рднреА netcoreapp2.0 рдкрд░ рд╣реИрдВ, рдФрд░ рдпрд╣реА рд╡рд╣ рд╣реИ (рдФрд░ рдЖрдИрдПрдордУ, рдпрд╣ рдареАрдХ рд╣реИ)ред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдореВрд░реНрдд рд╣реИрдВред рдореИрдВ рд╡рд░реНрддрдорд╛рди рд╡рд┐рднрд╛рдЬрди рдХрд╛ рдмрд╣реБрдд рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдмрдВрдж рди рдХрд░реЗрдВред

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

рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдкреАрдЖрдИ рдкреЛрд░реНрдЯ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж @dasMulli рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдПрдВ рдХрд╛рдо рдХрд░реЗрдВрдЧреА (рдРрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдкрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ)ред

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк? (рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде)ред

рд╣рд╛рдВред рдпрд╣ рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рдо рдЕрдм .NET Core 2.0 рдХреЗ рд╕рд╛рде рд▓реАрдХ рд╕реЗ рд╣рдЯрдХрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

@davidfowl рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╣рд╛рдВ рд╕рд╣реА рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦрд╛ рд╣реИ:

рд▓реЗрдХрд┐рди рдЕрднреА рднреА System.Web рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

... рдПрдХ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ, рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рдХреЗ рдХрд╛рд░рдгред рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЯреНрд░рдХ рд▓реЛрдб рдирд╣реАрдВ рдФрд░ рдиреНрдпреВрдирддрдо рдУрд╡рд░рд╣реЗрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, ASP.NET MVC <6 (System.Web) рдХреЗ рд▓рд┐рдП MiniProfiler рдФрд░ MiniProfiler.AspNetCore / MiniProfiler.AspNetCore.Mvc (рдмрд╣реБрдд рд╕рд╛рд░реЗ NuGet рд╣реИрдВ) )

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк System.Web рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐ MiniProfiler.Shared рдкрд░ рдерд╛ - рдореИрдВ рдЙрдиреНрд╣реЗрдВ рддрдм рддрдХ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рддрдХ рдХрд┐ рдиреНрдпреВрдЧреЗрдЯ рдореБрджреНрджрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрд╕реЗрдВрдмрд▓реА рдкрд░ рдХрд▓ рд░рд╛рдд рддрдп рдирд╣реАрдВ рд╣реЛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ ред

@DamianEdwards рдореИрдВ netstandard2.0 рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ 100% рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ (рдЙрдирдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ) рдПрдХ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдХреНрдпрд╛ рд╕реБрд╡рд╛рд╣реНрдпрддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЕрднреА рднреА рдПрдХ рдЪреАрдЬ рд╣реИ рдФрд░ рдЕрджреНрдпрддрд┐рдд рд╣реИ?

ASP.Net Core рдЬрд▓реНрджреА рд╕реЗ рдирдпрд╛ Python 3* рдмрди рд░рд╣рд╛ рд╣реИ; рдХреЗрд╡рд▓ рдмрджрддрд░ред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЧрд▓рдд рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдХрджрдо рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ "рдкреБрд░рд╛рдиреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо" рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╕рд╛рд▓реЛрдВ рддрдХ рдХреЛрдб рдмрдирд╛рдП рд░рдЦрдиреЗ (рдФрд░ рдирдпрд╛ рд▓рд┐рдЦрдиреЗ) рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдВрдЧреЗред "рддреЗрдЬрд╝ рд╡рд┐рдХрд╛рд╕" рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рддрд░реНрдХ рдХреА рддрд░рд╣ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдмрджрддрд░/рдЕрдиреБрдкрдпреБрдХреНрдд рдЬрдЧрд╣ "рддреЗрдЬрд╝" рдкрд░ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВред

*рдореБрдЭреЗ рдкрд╛рдпрдерди 3 рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рдПрдХ рджрд╢рдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рд╕рдореБрджрд╛рдп рдЕрднреА рднреА рдЦрдВрдбрд┐рдд рд╣реИ

рдмрд╕ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП - рдХреНрдпрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдЕрд╡рд░реЛрдзрдХ (рдлреИрдВрд╕реА рдкрд░рдл рд╕реНрдЯрдл) рд╣реИ рдпрд╛ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреБрдХреВрд▓рддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рдпрд╣ рдХрджрдо рдЖрдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА рдЗрд╕рдХреА рдЗрддрдиреА рдЬрд▓реНрджреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХреА рдереА .. рд╕рдВрдХреНрд░рдордг рдХрд╛ рд╕рдордп рдЕрднреА рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ libs рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреЛрдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ .net рдорд╛рдирдХ 2.0 рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ libs рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) - рдХрдо рд╕реЗ рдХрдо рдПрдХ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдиреЗрдЯ* рд╕рдкреЛрд░реНрдЯ рд░рдЦрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ 2.0, 2.1 рдирд╣реАрдВ)ред

@shanselman рдореИрдВ рдЖрдкрдХреЗ рдЕрдВрдХ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рд╣рдордд рднреА рд╣реВрдВ, рд▓реЗрдХрд┐рди _alot_ рд▓реЛрдЧ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗред

рдкреНрд░рд╛рдердорд┐рдХ рдореБрджреНрджрд╛ net46 рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдХреЛрд░ рд╕реЗ рдирд╣реАрдВ рдмреБрд▓рд╛ рд░рд╣рд╛ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╢рд┐рдо рдЙрд╕реА рд╕реЗ рдирд┐рдкрдЯрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдореМрдЬреВрджрд╛ рдиреЗрдЯ 46 рдХреЛрдб рдФрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1. * рдХреЛрдб 46 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдПрдПрд╕рдкреАрдиреЗрдЯ рд╕рдореЗрдд рдХреЛрдб рдХреЛ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓рд╛рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗрдирд╛ рдерд╛, рдпрд╣ рдПрдХ рдХрджрдо рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЙрд╕рд╕реЗ рджреВрд░ рдФрд░ рд╢рд╛рдпрдж рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрд╕ рджреГрд╖реНрдЯрд┐ рдХреА рд╡рд┐рдлрд▓рддрд╛ рднреАред

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

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

рдЕрдЧрд░ рдЖрдк рдЦреБрдж рдХреЛ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рдареАрдХ рдпрд╣реА рд╣реИред рдиреЗрдЯ46 рджреЗрд╡ рдФрд░ рдкреНрд░рдмрдВрдзрди рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рд╡реЗ рдЗрд╕реЗ _you_ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ, рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЪреЛрдЯ рдкрд╣реБрдВрдЪрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред "рдареАрдХ рд╣реИ рддреЛ рдЖрдЧреЗ рди рдмрдврд╝реЗрдВ" рдХреЛрдИ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди asp.net core 1.x рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЬрд┐рдиреНрд╣реЗрдВ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдард╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рдпрджрд┐ рдПрдХ рдмрдЧ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдпрд╛ рд╕реВрдЪрдирд╛ рд╣рд╛рдирд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред (рднрд▓реЗ рд╣реА рдврд╛рдВрдЪрд╛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рди рд╣реЛ)

рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.1 рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзрдХреНрдХрд╛ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рд╕реЗ рджреЗрд╡ рднреА рд╡рд┐рд╢реНрд╡рд╛рд╕рдШрд╛рдд рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдм рдмрд┐рдирд╛ рдХреЛрд░ рдХреЗ 2.0 рдореЗрдВ рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдпрд╣ рдЙрдЪрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рд╡рд╣реА рд╣реЛрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдЕрдзрд┐рдХ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реЛрдЧрд╛

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

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдгрдп рд╣рд▓реНрдХреЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ .. рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛, рдЦрд╛рд╕рдХрд░ 1 рд╕реЗред x net46 рдкрд░ _super_ рд╕рд░рд▓ рдФрд░ рд╕реБрдкрд░ рдкреЙрд▓рд┐рд╢ рд╣реИред рдиреЗрдЯ46 рд╕реЗ рдЕрдиреНрдп рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдХрд╣рд╛рдиреА рдФрд░ рдЕрдиреНрдпрдерд╛ рд░реЙрдХ рдареЛрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдбрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдиреЗ/рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП @ рдЦреЗрд▓рдВрдЧ рдкреЗрдЬрд┐рдВрдЧ @terrajobst ред

@рдЦреЗрд▓рдВрдЧ

рд╣рд╛рдВ, рд╣рдордиреЗ рдЕрднреА 2017 рдХреЗ рд▓рд┐рдП VSIX рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣рд╛рдВ рд╕реЗ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

@NickCraver рдЬрд╝рд░реВрд░, рдЖрдк рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓рд┐рдЦ тАЛтАЛрд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ netcoreapp2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рддреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рдХрд░рддрд╛ рд╣реИред

@ aL3891 рдмрдврд╝рд┐рдпрд╛ рд╕рд╛рд░рд╛рдВрд╢! рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рд▓рд╛рдн рдХреИрд╕реЗ рдЙрдард╛рддреЗ рд╣реИрдВ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рднреА рд╣реИрдВред .NET рдХреЛрд░ рдХреЛ рдирдП рдПрдкреАрдЖрдИ рдорд┐рд▓реЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдПрдХ рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдореЗрдВ HTTP2 рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓рд╕реНрдЯреНрд░реАрдо рдПрдПрд▓рдкреАрдПрди рд╕рдорд░реНрдерди)ред рддреЛ рдЖрдк рддрд░реНрдХ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдЙрдЪреНрдЪрддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдЬреЛ .NET Framework рдЕрднреА рддрдХ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдо рдПрдХ рд╣реА рдирд╛рд╡ рдореЗрдВ рд╣реЛрдВрдЧреЗред

рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рд╛рдордиреЗ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рд▓рд╛рдн рдХреИрд╕реЗ рдЙрдард╛рддреЗ рд╣реИрдВ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рднреА рд╣реИрдВред .NET рдХреЛрд░ рдХреЛ рдирдП рдПрдкреАрдЖрдИ рдорд┐рд▓реЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдПрдХ рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдореЗрдВ HTTP2 рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓рд╕реНрдЯреНрд░реАрдо рдПрдПрд▓рдкреАрдПрди рд╕рдорд░реНрдерди)ред

https://github.com/dotnet/corefx/issues/4721 рдХреЗ рдЕрдиреБрд╕рд╛рд░, SslStream рдХреЗ рд▓рд┐рдП ALPN рд╕рдорд░реНрдерди .NET Core 2.0 рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЕрдВрддрддрдГ рдХреБрдЫ рдорд╣реАрдиреЗ рдмрд╛рдж рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ netcoreapp2.0 TFM рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдПрдХ netcoreapp2.0 -рдЖрдзрд╛рд░рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реВрдВ рдЬреЛ рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ netcoreapp2.0 рдЖрдХрд╛рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдереЗ рдпрджрд┐ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреБрд░рд╛рдиреЗ .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ ? рдХреНрдпрд╛ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ netcoreapp2.x рдХреЛ netstandard1.x рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрдмрдВрдз TFM рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдврд╝рд╛рдП рдмрд┐рдирд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

@davidfowl рдвреЗрд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдПред рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЕрдореВрд░реНрдд рд╣реИрдВ (рдПрдорд╡реАрд╕реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ) 2 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╕рднреНрдп рд╡рд┐рднрд╛рдЬрди рдХреЗ рд░реВрдк рдореЗрдВ "рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╕рднреА рдХреЗ рдкрд╛рд╕ рдПрдорд╡реАрд╕реА рд╣реИ рдФрд░ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ"ред

рдпрджрд┐ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдирд╣реАрдВ рд╣реИрдВ рдФрд░ ASP.NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЗрддрдиреЗ рдХрд╕рдХрд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рд╣рдо рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рдЯрд╛рддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╕рдордЧреНрд░ рд╕рдВрдмрдВрдз рд▓рдХреНрд╖реНрдп рд╣реИ рддреЛ рдпрд╣ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдФрд░ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛ рджреЗрдЧрд╛ред рдореИрдВ рдЕрдореВрд░реНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдВрджреБ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди/рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдмрд╛рд╣рд░ рдХреЛрдИ рднреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА netcoreapp2.x рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рд╣реИ (рд╡рд╣рд╛рдВ рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢!)ред

рдХреНрдпрд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ netcoreapp2.x рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдореВрд░реНрддрди рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛? рдпрд╛ рдЕрдЧрд░ 2.0 рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

dotnet/corefx#4721 рдХреЗ рдЕрдиреБрд╕рд╛рд░, SslStream рдХреЗ рд▓рд┐рдП ALPN рд╕рдорд░реНрдерди .NET Core 2.0 рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЕрдВрддрддрдГ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдмрд╛рдж рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ netcoreapp2.0 TFM рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХреЛрдИ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛? рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдПрдХ netcoreapp2.0-рдЖрдзрд╛рд░рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реВрдВ рдЬреЛ рдирдП API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ netcoreapp2.0 рдЖрдХрд╛рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рдереЗ рдпрджрд┐ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреБрд░рд╛рдиреЗ .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдпрд╛ рдХреНрдпрд╛ netcoreapp2.x рдХреЛ netstandard1.x рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрдиреБрдмрдВрдз TFM рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдврд╝рд╛рдП рдмрд┐рдирд╛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

ASP.NET рд╕рдВрд╕реНрдХрд░рдг x рдмрд╕ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг x рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рд╣реЛрдЧрд╛ред TFM рдХреЛ .NET Core рдХреА рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдПрдХ рдПрдХрд▓ рдЙрддреНрдкрд╛рдж рд╣реИ рдЬрд┐рд╕реЗ рдЕрдВрддрддрдГ рдЗрд╕ рддрд░рд╣ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЙрди рдкреНрд░рдореБрдЦ рд╕рд░рд▓реАрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рд╣рдо @DamianEdwards рдХреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдЯреАрдПрдлрдПрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдирдП рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рдХрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝реЗрдВрдЧреЗред

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рд╕реНрдЯреИрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдПред

рдХреНрдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди? рдХреНрдпрд╛ рд╕реНрдЯреИрдХ рдХреЗ рдЕрдиреНрдп рдЯреБрдХрдбрд╝реЗ рд╣реИрдВ рдЬреЛ ASP.NET Core рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдирд╣реАрдВ рд╣реИрдВ рдФрд░ ASP.NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЗрддрдиреЗ рдХрд╕рдХрд░ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рддреЛ рд╣рдо рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣рдЯрд╛рддреЗ рд╣реИрдВ? рдпрд╣ рдПрдХ рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдпрд╣ рд╕рдордЧреНрд░ рд╕рдВрдмрдВрдз рд▓рдХреНрд╖реНрдп рд╣реИ рддреЛ рдпрд╣ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдФрд░ рд╕реНрдкрд╖реНрдЯ рдмрдирд╛ рджреЗрдЧрд╛ред рдореИрдВ рдЕрдореВрд░реНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдВрджреБ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рд╣реИрдВ рдпрджрд┐ рд╡реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди/рдЙрдкрдпреЛрдЧ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдмрд╛рд╣рд░ рдХреЛрдИ рднреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА netcoreapp2.x рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдпрд╛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИрдВ (рд╡рд╣рд╛рдВ рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реИрдВ!)ред

рдХреНрдпрд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ netcoreapp2.x рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рд╛рд░ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛? рдпрд╛ рдЕрдЧрд░ 2.0 рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ?

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

рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдЕрдореВрд░реНрддрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рди рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

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

рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк netcoreapp2.0 рдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ - рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рдерд╛ - .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ, .NET рдорд╛рдирдХ - рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ netstandard2.0 рдЕрдЧрд░ рдЖрдк рдЯреАрдПрдлрдПрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдирдП .NET рдХреЛрд░ рдПрдкреАрдЖрдИ рд╕реЗ рд▓рд╛рдн рдирд╣реАрдВ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ? (рдЬреИрд╕реЗ netcoreapp2.1 )

рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ netcoreapp2.0 рдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рдерд╛ - .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ, .NET рдорд╛рдирдХ - рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ netstandard2.0 рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдЯреАрдПрдлрдПрдо рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдирдП .NET рдХреЛрд░ рдПрдкреАрдЖрдИ рд╕реЗ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИ? (рдЬреИрд╕реЗ netcoreapp2.1)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЧрд▓рдд рдмреЛрд▓рд╛, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ netcoreapp2.x рдирд╣реАрдВ netcoreapp2.0 ред

рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреНрд░рдорд┐рдд рд╣реВрдБред

image

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЧрд▓рдд рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ netcoreapp2.x netcoreapp2.0 рдирд╣реАрдВред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рдХрд┐ рдореИрдВ рд╕рдордЭрд╛ рд╣реВрдБред рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core 2.1 рдкреИрдХреЗрдЬ рдФрд░ netcoreapp2.1 TFM рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдорд╛рдирддрд╛ рд╣реЛрдЧреА?

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core 2.1 рдкреИрдХреЗрдЬ рдФрд░ netcoreapp2.1 TFM рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдорд╛рдирддрд╛ рд╣реЛрдЧреА?

рд╣рд╛рдВред 2 рдХреЛ рдЙрд╕реА рдореЗрдВ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪреЛред рджреЗрдЦреЗрдВ https://github.com/aspnet/Home/issues/2022#issuecomment -299544884

рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рдкреИрдЯрд░реНрди рдЕрдкрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди netstandard рдХреЗ рд╕рд╛рде? рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛, рдЖрдИрдПрдордПрдЪрдУ: рдирдП рдПрдкреАрдЖрдИ рдХреЛ рдирдП рдЯреАрдПрдлрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗ рдЕрднреА рднреА рдЕрдкрдиреЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдРрдк рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

ASP.NET рдХреЛрд░ 2.1/.NET рдХреЛрд░ 2.1/.NET рдбреЗрд╕реНрдХрдЯреЙрдк 4.7.1 -> netstandard2.1
ASP.NET рдХреЛрд░ 2.2/.NET рдХреЛрд░ 2.2/.NET рдбреЗрд╕реНрдХрдЯреЙрдк 4.8 -> netstandard2.2 ред

@PinpointTownes рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ .NET Framework рдкрд░реНрдпрд╛рдкреНрдд рддреЗрдЬреА рд╕реЗ рд╢рд┐рдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣реА рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдХреА рдЬрдбрд╝ рд╣реИред рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдпрд╣ рдПрдХ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╣реИред

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

рдкреНрд╡рд╛рдЗрдВрдЯ рдЯреЛрдХрди, 'рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдХрд┐рддрдиреА рддреЗрдЬреА рд╕реЗ рд╢рд┐рдк рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирдП рдИрд╕реАрдбреАрдПрд╕рдП рдПрдкреАрдЖрдИ рдХреЛ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рд╕реЗ рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдореЗрдВ рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдРрд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХреНрд░рд┐рдкреНрдЯреЛ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╕рдордп рд╕реАрдорд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред )

рдХреНрд░реЙрд╕-рдХрдВрдкрд╛рдЗрд▓рд┐рдВрдЧ рдПрдХ рдУрд╡рд░рд╣реЗрдб рд╣реИ рдЬрд┐рд╕реЗ рдЧреНрд░рд╛рд╣рдХ рдФрд░ рдЙрддреНрдкрд╛рдж рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрддреБрд▓рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╣рдореЗрдВ рдЖрдк рд╕рднреА рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реВрдЪреА/рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ net461+ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ASP.NET Core 2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдиреЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЙрди рдЕрдВрддрд░рд╛рд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╕рднреА рдХреЛ рд╕рдлрд▓ рд╣реЛрдиреЗ рджреЗрдВред

рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдореЗрдВ WCF рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдлреБрд▓рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ netstandard / netcore рд╕рдВрд╕реНрдХрд░рдг (https://github.com/dotnet/wcf) рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИрдВред

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

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

рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдореЗрдВ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдХреНрд▓рд╛рдЗрдВрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб / рдиреЗрдЯрдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг (https://github.com/dotnet/wcf) рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИрдВред

@ctolkien рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореМрдХрд╛ рд╣реИред

@davidfowl https://github.com/dotnet/wcf/issues/8

рдФрд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдореЗрдВ рд╕рдВрдХреНрд░рдордг рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рдзрд╛ рдереА рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдорд╛рд░рд╛ рдерд╛ред

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

рдпрд╣ рдХреИрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ? AFAICT, рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдиреЗ рдХрднреА рдирд╣реАрдВ рдХрд╣рд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЗ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ .NET рдХреЛрд░ рдлреНрд▓реЗрд╡рд░ рдХреЛ рдПрдХ рд╣реА рд╕рдЯреАрдХ рдлреАрдЪрд░ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдерд╛ред рдпрджрд┐ рдПрдкреАрдЖрдИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП HTTP 2/0) рдХреЗ рдХрд╛рд░рдг .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ .NET рдХреЛрд░-рдУрдирд▓реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП PlatformNotSupportedException рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЬрд┐рд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╣реИ рдирд╣реАрдВ рд╣реИрд╣реИ?
рдпрд╣ рд╕рднреА ASP.NET рдХреЛрд░ рдкреИрдХреЗрдЬ .NET Core-only рдмрдирд╛рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рднрд▓реЗ рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирдП BCL API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗред

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдбрд╝рд╛ рдбрд░ рдпрд╣ рд╣реИ рдХрд┐ netcoreapp2.3 рдХрд╣рдиреЗ рдореЗрдВ рдЪреАрдЬреЗрдВ рдареАрдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдпрд╣ netcoreapp2.4 рдореЗрдВ рддрдп рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ ASP.NET рдХреЛрд░ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЯреНрд░реЗрди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрдпрд╛рд░ рдХрдм рддрдХ рдорд┐рд▓рддрд╛ рд╣реИ? рдЕрдЧрд░ рд╣рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИ рддреЛ рд╣рд░ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдирд╡реАрдирддрдо рдФрд░ рдорд╣рд╛рдирддрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд░реНрд╡реЛрддреНрддрдо рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╛ рддреЛ ASP.NET Core рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рд╕рдВрд╕реНрдХрд░рдг (рдкреНрд░рддреНрдпреЗрдХ рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг) рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ (рдирд╡реАрдирддрдо рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд░рд╣рдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛), рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪреЗрдВред рдпрд╣ рдорд╛рдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдЬреИрд╕реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИред

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

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

@ рдкрд┐рдирдкреЙрдЗрдВрдЯ рдЯрд╛рдЙрди :

рдЗрд╕реЗ .NET рдХреЛрд░-рдУрдирд▓реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ PlatformNotSupportedException рдлреЗрдВрдХ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЬрд┐рд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ?
рдпрд╣ рд╕рднреА ASP.NET рдХреЛрд░ рдкреИрдХреЗрдЬ .NET Core-only рдмрдирд╛рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛, рднрд▓реЗ рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирдП BCL API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗред

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

рдпрд╣ рдПрдХ рд░рдирдЯрд╛рдЗрдо рд╡рд┐рдлрд▓рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреА рдЕрд╕реЗрдВрдмрд▓реА рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ, рддреЛ "рдЕрдкрдиреЗ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ .NET рдХреЛрд░ рдкрд░ рд▓рд╛рдПрдВ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдареАрдХ рдпрд╣реА рд╣реЛрдЧрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдкрдХреЛ $# PlatformNotSupportedException рдХреЗ рдмрдЬрд╛рдп MissingMemberException рдорд┐рд▓реЗрдЧрд╛ PlatformNotSupportedException ред

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

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

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

AFAICT, рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдиреЗ рдХрднреА рдирд╣реАрдВ рдХрд╣рд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЗ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ .NET рдХреЛрд░ рдлреНрд▓реЗрд╡рд░ рдХреЛ рдПрдХ рд╣реА рд╕рдЯреАрдХ рдлреАрдЪрд░ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдерд╛ред рдпрджрд┐ рдПрдкреАрдЖрдИ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕реЗ HTTP 2/0), рддреЛ рдЗрд╕реЗ .NET рдХреЛрд░-рдУрдирд▓реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рднрд╛рдЧ netstandard рд╣реИред netcoreapp рдореЗрдВ рдЕрдВрддрд░ рдХрд░рдирд╛ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рд╡реЗ рдпрд╣рд╛рдБ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рдмрд┐рдирд╛ред рдпрд╣ рдЗрд╕ рдорд╛рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рдЕрдиреБрдмрдВрдз рд╣реИред

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

[@PinpointTownes] рдпрджрд┐ рдПрдкреАрдЖрдИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП HTTP 2/0) рдХреЗ рдХрд╛рд░рдг .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХреЛрдИ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ .NET рдХреЛрд░-рдУрдирд▓реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП PlatformNotSupportedException рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕реБрд╡рд┐рдзрд╛ рд╡рд╣ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ?

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

рдиреЗрдЯрдХреЛрд░рдПрдк рджрд┐рд╢рд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рд╕реЗ рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

рдпрд╣ 1.0 рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рднрд┐рдиреНрди рд╣реИ? @davidfowl рдиреЗ рдХрд╣рд╛ рдХрд┐ рдирдП рдПрдкреАрдЖрдИ рдХреЛ рдирдП рдЯреАрдПрдлрдПрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирдП .NET рдХреЛрд░ рдПрдкреАрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░ рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓рдЯреАрдПрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИред

netcoreapp рдореЗрдВ рдЕрдВрддрд░ рдХрд░рдирд╛ рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡реЗ рдпрд╣рд╛рдБ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

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

рдЬрд╝рд░реВрд░ред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рднреА рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ .рдиреЗрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдФрд░ .NET рдХреЛрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП - рддрдереНрдп рд╡рд┐рд░рд╛рд╕рдд libs рдХреЗ рд╕рд╛рде - ASP.NET рдХреЛрд░ 2.0 рдореЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ 1.0 рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдпрд╛ рддреЛ .NET рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдЬрд┐рдирдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ NuGet рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╕реНрд╡рдпрдВ рд╣рд░ рдЬрдЧрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред

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

рдбреЙрдЯрдиреЗрдЯ рдореЗрдВ forward-port рд░реЗрдкреЛ рд╣реЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓реЛрдЧ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ .NET рдХреЛрд░ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдлрд┐рд░ рдХреЛрдб рд░реЗрдкреЛ рдХреЗ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдХреЗ рд╢реЛрд░ рдХреЗ рдмрд╛рд╣рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд╕рдореАрдХреНрд╖рд╛ рдФрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреАрдЖрдИ рд╕рдореАрдХреНрд╖рд╛/рдХрд▓реНрдкрдирд╛ рд░реЗрдкреЛ (рдХреНрд░рдорд╢рдГ csharplang рдмрдирд╛рдо roslyn рдХреА рддрд░рд╣)

рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛: "рдореЗрд░реЗ рдкрд╛рд╕ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдПрдХреНрд╕ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рдЬрдмрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдмрд╣реБрдд рд╢реЛрд░ рд╣реИред

[@benadams] рдбреЙрдЯрдиреЗрдЯ рдореЗрдВ рдПрдХ рдлреЙрд░рд╡рд░реНрдб-рдкреЛрд░реНрдЯ рд░реЗрдкреЛ рд╣реЛрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓реЛрдЧ рдЙрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ .NET рдХреЛрд░ рд╕реЗ рдЧрд╛рдпрдм рдорд╛рдирддреЗ рд╣реИрдВ?

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпреЗ CoreFx рдореЗрдВ рдмрд╕ рдореБрджреНрджреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рд╣рдорд╛рд░рд╛ рд╡рд╛рджрд╛ рдЖрдо рддреМрд░ рдкрд░ рд╣реИ: рдпрджрд┐ рдкреНрд░рдХрд╛рд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП рд╕рджрд╕реНрдпреЛрдВ рдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдмрд╣реБрдд рд╣реА рджреБрд░реНрд▓рдн рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдореАрди рдореЗрдВ рджрд╛рдВрд╡ рдпрд╣ рд╣реИ рдХрд┐ рдЙрди рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

[@benaadams] рдпрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреАрдЖрдИ рд╕рдореАрдХреНрд╖рд╛/рдХрд▓реНрдкрдирд╛ рд░реЗрдкреЛ

рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдПрдкреАрдЖрдИ рд╕рдореАрдХреНрд╖рд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╣рдж рддрдХ рднрд╛рд░реА рд╣реИрдВ; рдЙрдиреНрд╣реЗрдВ рджреВрд╕рд░реЗ рд░реЗрдкреЛ рдореЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрдврд╝рд╛рдирд╛ рд╣реИред рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо CoreFx рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреЗ рд░рд╣реЗрдВ рддрд╛рдХрд┐ рдирдП рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рдирд╛ рдЙрддрдирд╛ рд╣реА рд╕рд░рд▓ рд╣реЛ, рдЬрд┐рддрдирд╛ рдХрд┐ ASP.NET рдореЗрдВ рдХрд░рдирд╛ред

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

@DamianEdwards рдЙрди API рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛ netstandard2.0 рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ? рдЕрдзрд┐рдХрд╛рдВрд╢ рддреГрддреАрдп рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдВрдж рд╕реНрд░реЛрдд рд╣реИрдВред рдореИрдВ рдХреИрд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд┐рдирд╛рд░реЗ рдХрд╛ рдорд╛рдорд▓рд╛ netstandard2.0 рдХреЗ рдмрдВрдж рд╣реЛрдиреЗ рдореЗрдВ рд╣реИ?
рдЬреИрд╕рд╛ рдХрд┐ @PinpointTownes рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ рд░реВрд╕реА рд░реВрд▓реЗ рдЦреЗрд▓рдиреЗ рдЬреИрд╕рд╛ рд╣реИред

@MJomaa рдЯреВрд▓рд┐рдВрдЧ рдпрд╣рд╛рдВ рдорджрдж рдХрд░реЗрдЧреА рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдорд╛рдирдХ рд╕рдорд░реНрдерд┐рдд рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдПрдкреАрдЖрдИ рдХреЗ рдореМрдЬреВрджрд╛ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд╣рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рдВрдЧрдд рд╣реЛрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд┐рдирд╛рд░реЗ рд╣реИрдВ , рдЬреИрд╕реЗ https://github.com/dotnet/standard/blob/cc9f646354fc68a13707a82323d4032b8dbfda52/netstandard/src/ApiCompatBaseline.net461.txt

рд╡реЗ API рд╣реИрдВ рдЬреЛ NS 2.0 рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ рд▓реЗрдХрд┐рди .NET Framework 4.6.1 рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рд╕реЗ рдШрдмрд░рд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕реВрддреНрд░ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 5 ASP.NET рдХреЛрд░ рдРрдкреНрд╕ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рд╕реЗ 4 рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рд┐рд░реНрдл рд╣рдо рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд░рдХреНрд╖рд╛рддреНрдордХ рд╣реЛрдирд╛ рдФрд░ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рддрд┐рд░реЛрдз рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЕрдкрдирд╛рдирд╛ рдерд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .NET рдХреЛрд░ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдЬреИрд╕реЗ рд╡реАрдПрд╕ рдореЗрдВ рдмреЗрдХ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЯреВрд▓рд┐рдВрдЧ рдЙрди рджреЗрд╡реЛрдВ рдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЯреНрд╡рд┐рдЯрд░/рдЧрд┐рдЯрд╣рдм рдкрд░ рдЕрджреНрдпрддрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рднреА рдореМрдЬреВрдж рд╣реИред "рдПрдХ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реБрдЭрд╛рдПрдВ" рдкреЙрдк рдЕрдк рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░реЗрдЧрд╛ред рд╢рд╛рдпрдж ASP.NET Core 2+ рдРрдк рдореЗрдВ net46x lib рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рд╕рд╛рдордЧреНрд░реА Microsoft рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ Telerik, Syncfusion, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рддреГрддреАрдп рдкрдХреНрд╖ рд╕рдорд░реНрдерди, рд╡реЗ рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рдЕрд╡рд░реЛрдзрдХ рднреА рд╣реЛрдЧрд╛ред

рдЗрд╕ рдЧрд┐рдЯрд╣рдм рдереНрд░реЗрдб рдореЗрдВ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЛ рдПрдлрдПрдХреНрдпреВ рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдПрдПрд╕рдПрдкреА рдореЗрдВ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╣рд░ рдЪреАрдЬ рдореЗрдВ рд╕рдмрд╕реЗ рдКрдкрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА 100% рдпрдХреАрди рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо net46x libs рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рдерд╛ред

рджреВрд╕рд░реЗ рдЬреЛ рдХрд╣рддреЗ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреА рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ рдХрд░рдирд╛ред рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо 10 рджреЗрд╡реЛрдВ рд╕реЗ рдмрд╛рдд рдХреА рд╣реИ рдЬреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ ASP.NET Core рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ @ aL3891 рдЬреИрд╕рд╛ рд╣реА рдЕрдиреБрднрд╡ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╣рд╛рдВ рджреЗрд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢ рдереЗ, рд╡реЗ ASP.NET рдХреЛрд░ рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рдереЗ рдФрд░ рдЙрдирдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рдмрд╕ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдлрд┐рд░ рд╕реЗ - .NET Core 2.0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ред рдХрд╛рдо рдореЗрдВ System.DirectoryServices рдЬреИрд╕реЗ рдХрдо рд╕реЗ рдХрдо рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреБрдХрдбрд╝рд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдЧрд╛ред рдЬрдм рд╡реЗ рд╕реБрдирддреЗ рд╣реИрдВ рдХрд┐ .NET рдХреЛрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯ рд╣реИ рдФрд░ рдПрдХреНрд╕-рдкреНрд▓реЗрдЯ/рдкрд░рдл рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдирдХреЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдиреЗрдЯ рджреЗрд╡реЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред

рджреЛрд╕реНрддреЛрдВ, рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рдХрдЪрд░рд╛ рд╣реИ :(
рд╣рдордиреЗ ASP.NET Core рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЗрд╕реЗ netfx рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдХрд╛рд░рдг рдмрдирд╛рдпрд╛ рд╣реИ, рдФрд░ рд╣рдордиреЗ рдРрд╕реА рдЪреАрдЬреЗрдВ рдмрдирд╛рдИ рд╣реИрдВ рдЬреЛ 5-10 рд╡рд░реНрд╖реЛрдВ рддрдХ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдереАрдВ, рди рдХрд┐ рдЕрдзрд┐рдХрддрдо 1 рд╡рд░реНрд╖ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдПред рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ ASP.NET рдирд╛рдо рдХрд╛ рдпрд╣реА рдЕрд░реНрде рд╣реИ рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдмрдбрд╝реЗ, рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЧрдарди рдЗрд╕реЗ рдорд╣реАрдиреЗ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рд╕реНрд╡рд╛рдж рдкрд░ рдЪреБрдирддреЗ рд╣реИрдВред рдореБрдЭреЗ рдареЛрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ ..

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

рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдХ рдореЗрдВ, ASP.NET Core рдПрдХ 'рдкреНрд▓рдЧрдЗрди' рд╣реИ - рдпрд╣ рдПрдХ HTTP рдЧрдВрддрд╡реНрдп рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдФрд░ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗрд╡рд╛рдУрдВ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ 'рдлреНрд░рдВрдЯрдПрдВрдб' рднреА рд╣реИ - рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдПрд▓рдУрдмреА рдРрдкреНрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╡реЗрдмрдПрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреНрд╡рд┐рджрд┐рд╢ рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ - рдПрдПрди-рд╕реА рдХреЛрдб рдЬреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЕрдиреНрдп рдХреЛрдб рдЬреЛ рдПрдПрди-рд╕реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред

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

  • рдПрдирдЯреАрдПрд▓рдПрдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг (рдЯреЛрдХрди рдФрд░ рдПрд╕рдкреАрдПрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗ рдЙрдиреНрдирдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рд╕рд╣рд┐рдд)
  • System.Drawing рдКрдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ (рдпрд╣рд╛рдВ рджрд┐рд▓рдЪрд╕реНрдк рд╢рд┐рдХрди: рд╣рдореЗрдВ TIFF рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ рдЫрд╡рд┐ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдирдП OSS рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)
  • WCF/SOAP рдПрдкрд┐рд╕ рд╕реЗ рдЬреБрдбрд╝рдирд╛ - рдЕрднреА рднреА рдЯрди рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВ
  • рд╡рд┐рдВрдбреЛрдЬ рдХреНрд░рд┐рдкреНрдЯреЛ рдПрдкрд┐рд╕ (RSACng, ECDSA, рдФрд░ PKI рдЯреЛрдХрди рдХреЗ рд▓рд┐рдП CSP рд╕рд╣рд┐рдд)
  • wpf guis - рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд▓реНрдж рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдкрд░ рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬрдм рд╡реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рддрдм рднреА рд╡реЗ рд╕реНрдЯреЛрд░ рдРрдкреНрд╕ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
  • рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдСрдлрд┐рд╕ рдЗрдВрдЯрд░рдСрдк (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдФрд░ рдПрдХреНрд╕реЗрд▓)
  • рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА
  • Oracle ADO.NET рдкреНрд░рджрд╛рддрд╛ рдЬреИрд╕реЗ рддреГрддреАрдп рдкрдХреНрд╖ рдкреНрд▓рдЧрдЗрдиреНрд╕

рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рдХрднреА рднреА рдХреЛрд░ рд╕реАрдПрд▓рдЖрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреАред рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣реИрдВ , рдЬреЛ рдирдП рдРрдк рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЖрдзрд╛рд░ рд╣реИрдВ - рд╣рдореЗрдВ .NET рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛред рдЕрднреА рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдкреНрд░рдмрдВрдзрдиреАрдп рд╣реИ: рд╣рдо "рд╡рд┐рд░рд╛рд╕рдд" (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ) рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ net461 рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВред рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдРрдкреНрд╕ рддрдм рдиреЗрдЯрдлреНрд▓рд┐рдХреНрд╕ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрддреЗ рд╣реИрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВред рдореИрдВ рдРрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдирдП рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рджреБрд░реНрд▓рдн рд╣реИ .. рд▓реЗрдХрд┐рди рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдХрднреА рднреА 0% рд╣реЛред

рдЖрдкрдиреЗ рдпрд╣ рд╕рдм рдХрд╛рдо csproj рдФрд░ SDK рдкрд░ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯрд░рдСрдк рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред ASP.NET Core рдЧрд╛рдЬрд░ рд╣реИ, рдЗрдВрдЯрд░рдСрдк рдЪрд╛рд╣рдиреЗ рдХрд╛ рдХрд╛рд░рдг ред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рджреВрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рд╣реИред рдФрд░ рдирд╣реАрдВ, "рдЖрдк рдЕрдкрдиреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрд╕рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ" рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдирд╣реАрдВ рд╣реИред

@рдЧреБрд▓рдмрдирд╛рдирд╛ рдХреНрдпрд╛ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрди рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдореИрдВ рд╕реВрдЪреА (рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдкреНрд▓рдЧрд┐рдВрдЧ, рдСрдлрд┐рд╕ рдЗрдВрдЯрд░рдСрдк рдЖрджрд┐) рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЖрдЬ рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ ASP.NET рдХреЛрд░ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рд╣реИ (рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рд╡рд░рдг рд╕реЗ рдЕрдЪреНрдЫреА рддрд╕реНрд╡реАрд░ рдирд╣реАрдВ рд╣реИ)?

ASP.NET Core рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдЖрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ? рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдирдпрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдЬрд┐рд╕рдиреЗ рдХрднреА ASP.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди ASP.NET Core рдкрд░ .NET Framework рдПрдХ рдЪреАрдЬ рд╣реЛрдиреЗ рдкрд░ 5-10 рд╕рд╛рд▓ рдХрд╛ рджрд╛рдВрд╡ рд▓рдЧрд╛рдпрд╛? рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрдЯрд╛рдирд╛ рдХреЛ рджреЗрдЦрд╛?

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

рдПрдирдЯреАрдПрд▓рдПрдо/рдПрдбреА

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

рд╕рд┐рд╕реНрдЯрдо.рдбреНрд░рд╛рдЗрдВрдЧ

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдмрдПрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдердВрдмрдиреЗрд▓ рдФрд░ рдореВрд▓ рдЫрд╡рд┐ рд╕рдВрдкрд╛рджрди (рд░реЛрдЯреЗрд╢рди, рд╡реЙрдЯрд░рдорд╛рд░реНрдХ рдУрд╡рд░рд▓реЗ) рдмрдирд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд░рд╣реА рдХрдИ рдЫрд╡рд┐рдпрд╛рдВ рдбрд╛рдпрдирд╛рд╕реЛрд░ рдХреЗ рд╕рдордп рдХреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдЯреАрдЖрдИрдПрдлрдПрдл рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВред рд╡реЗ рд╡рд┐рд╢реЗрд╖ рд╕рдВрдкрддреНрддрд┐ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдФрд░ рднреВрдорд┐ рдкреНрд░рдмрдВрдзрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рд╕рд░рдХрд╛рд░реА рд╡рд┐рднрд╛рдЧ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдореЗрдВ ASP.NET MVC рдерд╛, рдФрд░ MVC 2, 4, 5 рдФрд░ рдЕрдм Core рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб/рдкреБрдирдГ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ред

рд╡реАрдПрд╕рдЖрдИрдПрдХреНрд╕

рдпрд╣ рдПрдПрди-рд╕реА рдХреЛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рдХреЗ рдмрдЬрд╛рдп рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдЖрд░рдПрдбреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП 'рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕' рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдереЗ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдордп рдкрд░ AN-C рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд░/рд░рдирдЯрд╛рдЗрдо T4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред

рдХреНрд░рд┐рдкреНрдЯреЛ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрди-рдкреНрд░реЛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЛрдб рдмрд╣реБрдд рд╕реБрд░рдХреНрд╖рд╛-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИред рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдпрд╣ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рд╡реЗрдмрдПрдк рдХреЗ рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдЕрдВрддрддрдГ .NET Core рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдХреНрд░рд┐рдкреНрдЯреЛ рд╕рдорд░реНрдерди рдорд┐рд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдЬ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рдХрд▓реНрдк Fortinet/ePass2003 PKI рдЯреЛрдХрди рд╕рдорд░реНрдерди рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдирдХрд╛ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдордп рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ)ред

Oracle ADO.NET

Oracle рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде Entity Framework 6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди-рдкреНрд░реЛрдХ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛!

рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдЗрдВрдЯрд░рдСрдк

рд╣рдо рдЗрди рджрд┐рдиреЛрдВ рдЕрдкрдиреЗ рд╕рднреА рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ Microsoft.Extensions.Login рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ- рд▓реЙрдЧрд┐рдВрдЧ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЛ рдЗрди-рдкреНрд░реЛрдХ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рднрд▓реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рди рд╣реЛред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ ASP.NET Core - ASP.NET MVC рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛! рд╣рдо рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рдереЗ рд▓реЗрдХрд┐рди рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдПрдХ рдмрдбрд╝реА рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реЛрдЧреАред

рдПрдХ рд╡рд╛рд╕реНрддреБрдХрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдореЗрд░рд╛ рдкреЗрдВрдЪ рд╣реИ рдХрд┐ "рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ" рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЖрдЧреЗ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдореЗрд░реЗ рд╕рд╛рде рдХрднреА рдирд╣реАрдВ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдВрднрд╛рд╡рдирд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХреА рдереА рдХрд┐ 2018 рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд╛рд░реНрдпрд╛рд▓рдп рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд╕рдХреЗ ...

рдПрдХ рдмрд╛рдд рдЬреЛ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдБ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдирдЯреАрдПрд▓рдПрдо/рдПрдбреА

рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реЗ рдПрдкреАрдЖрдИ рдореИрдкрд┐рдВрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл System.DirectoryServices рд╣реИ? рдЙрд╕ рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдЖрдк рдЗрд╕реЗ corefx рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред

рд╕рд┐рд╕реНрдЯрдо.рдбреНрд░рд╛рдЗрдВрдЧ

рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ ImageSharp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреБрдирд░реНрд▓реЗрдЦрди рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреВрдВрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ)ред рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╡реАрдПрд╕рдЖрдИрдПрдХреНрд╕

рдпрд╣рд╛рдБ ASP.NET рдХреЛрд░ рдХрд╣рд╛рдБ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рдЕрдВрджрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

рдХреНрд░рд┐рдкреНрдЯреЛ

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдореБрджреНрджрд╛ рд╣реИ? рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдкреЛрд░реНрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд, .NET рдХреЛрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ OS рд╕реЗ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпрджрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдордЭрд╛ рдЬрд╛рдП рддреЛ рдпрд╣ рдмрд╛рдж рдХреЗ рдмрдЬрд╛рдп рдЬрд▓реНрджреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред (рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВ рдЗрд╕ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░рд┐рдкреНрдЯреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдЬрд╛рдирддрд╛)ред

Oracle ADO.NET

ASP.NET Core рдпрд╣рд╛рдБ рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдЕрднреА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ Oracle рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдЕрднреА рддрдХ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рд╣рдо рдЗрди рджрд┐рдиреЛрдВ рдЕрдкрдиреЗ рд╕рднреА рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ Microsoft.Extensions.Login рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ- рд▓реЙрдЧрд┐рдВрдЧ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЛ рдЗрди-рдкреНрд░реЛрдХ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рднрд▓реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рди рд╣реЛред

Microsoft.Extensions.* рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд░рд╣реЗрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдХреЛрдИ рдШреЛрд╖рдгрд╛/рдЪрд░реНрдЪрд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
рдореБрдЭреЗ рд╡рд╣ рдкрд╕рдВрдж рд╣реИ рдЬреЛ aspnet/.net рдХреЛрд░ рдЯреАрдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ @jhurdlow рдЬреИрд╕рд╛ рд╣реА рдбрд░ рд╣реИред

рдПрдордИрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реБрдИ рдЕрдиреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░-

рдПрдирдЯреАрдПрд▓рдПрдо

рдпрд╣рд╛рдВ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдкреАрдЖрдИ рдХрд╛ рдмрд╣реБрдд рдорд╛рдореВрд▓реА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рди рдЬреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
https://gist.github.com/gulbanana/70fe791735ee884169e2eee354a32ad2

рд╡реАрдПрд╕рдЖрдИрдПрдХреНрд╕

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

рдХреНрд░рд┐рдкреНрдЯреЛ

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

рдЖрдХрд╛рд╢рд╡рд╛рдгреА

рд╣рд╛рдВ, рдпрд╣ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрджрд┐ рдХреЛрдИ Oracle рдкреЛрд░реНрдЯ рд╣реЛрддрд╛ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕реА рддрд░рд╣)ред

рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛:
рд╣рдорд╛рд░рд╛ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрд╕реЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓реАрдЧреЗрд╕реА рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред рдЕрднреА рд╡рд╣ рдЖрдпрд╛рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рддреА рд╣реИред рдпрд╣ accdb/jet рдЗрдВрдЬрди рдкреБрдирд░реНрд╡рд┐рддрд░рдг рдпреЛрдЧреНрдп рд╕реЗ acedao.dll рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП COM рдЗрдВрдЯрд░рдСрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╣рдорд╛рд░реЗ рдЗрдХрд╛рдИ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред

рдпрд╣ 'рдЦрд░реАрдж рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП' рдХрд╛ рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛ рд╣реИред рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдПрди-рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрдмрдПрдкреАрдЖрдИ 2 рд╡реЗрдмрд╕рд╛рдЗрдЯ рдпрд╛ рдХреБрдЫ рдФрд░ рдХреЗ рджреГрд╢реНрдпрдкрдЯрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо рдЕрддреАрдд рдкрд░ рдЙрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЪрд▓реЗ рдЧрдП рд╣реИрдВ :(

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рд╣реИ рдХрд┐ рд╣рдо рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрдВред рдЬрдм рддрдХ рд╣рдо рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ, рд╣рдо рдпрдерд╛рд╕рдВрднрд╡ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрдВрдЯрд░рдСрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ ...

рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл !!! рдореИрдВ
рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ASP.NET Core 2 рдЕрдм рдкреВрд░реНрдг .NET Framework 4.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ !!!
рд╣рдордиреЗ рдЕрднреА 1 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ ASP.NET Core 1.1 рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рдордиреЗ .NET 4.6 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреБрдЫ рдкреВрд░реНрдг .NET Lib рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВред рдФрд░ рд╣рдо ASP.NET Core 2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рдереЗред рд▓реЗрдХрд┐рди рдЬреЛ рдореИрдВ рдЗрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рд╕реБрди рд░рд╣рд╛ рд╣реВрдВ...
рджреЗрдЦрд┐рдП, рд╣рдордиреЗ ASP.NET Core рдХреЛ рдЗрд╕рдХреЗ рд▓рд╛рднреЛрдВ (DI, рдорд░реНрдЬ рдХрд┐рдП рдЧрдП API рдФрд░ MVC, ... рд╢рдХреНрддрд┐рд╢рд╛рд▓реА) рдХреЗ рдХрд╛рд░рдг рдЪреБрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдВред

рд╣рдордиреЗ рдЕрднреА 1 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ ASP.NET Core 1.1 рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рдордиреЗ .NET 4.6 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреБрдЫ рдкреВрд░реНрдг .NET Lib рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВред

рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ @shanselman рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрддреНрддрд░ https://github.com/aspnet/Home/issues/2022#issuecomment -299536123 рдкрдврд╝рд╛? .NET Core 2.0 рдореЗрдВ рдХреБрдЫ .NET Framework рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рднреАрддрд░ рд░рд╣рддреЗ рд╣реИрдВ)ред

рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдиреЗ @shanselman рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрддреНрддрд░ # 2022 (рдЯрд┐рдкреНрдкрдгреА) рдкрдврд╝рд╛? .NET Core 2.0 рдореЗрдВ рдХреБрдЫ .NET Framework рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рднреАрддрд░ рд░рд╣рддреЗ рд╣реИрдВ)ред

@davidfowl рд╣рд╛рдБ рдореИрдВрдиреЗ @shanselman рдХреА рдЯрд┐рдкреНрдкрдгреА рдкрдврд╝реА, рд╣рдо рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреБрдЫ Libs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ lib WCF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╕рднреА Libs рд╕реНрдерд┐рд░ рд╣реИрдВ, рд╡реЗ .NET 3.5 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЫреВ рдирд╣реАрдВ рд╕рдХрддреЗред

рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИред рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдЕрднреА рддрдХ .NET Core рдмрдирд╛рдо .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core рдХреЗ рдХрд┐рддрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдЗрд╕ рдкрд░ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА (рдЯреЗрд▓реАрдореЗрдЯреНрд░реА?) рдПрдХрддреНрд░ рдХреА рдЧрдИ рд╣реИред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднрд╛рд╡реБрдХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрд╡рд▓реЛрдХрди:

  • рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдЬ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреНрд░рд╛рд╣рдХ asp.net core 1.x/рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдирдП рд╕рд╛рдорд╛рди рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдбрд░рддреЗ рд╣реИрдВ
  • nuget рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдирдВрдмрд░ рд╕реЗ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ, asp.net рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЙрд╕ рдХрджрдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдРрд╕рд╛ рдмреЗрдЪрдирд╛ рдФрд░ рднреА рдХрдард┐рди рд╣реЛрдЧрд╛ рдЬреЛ рдЕрднреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдмрд┐рдХ рд░рд╣рд╛ рд╣реИред
  • рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрд▓рдбреАрдПрдкреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЕрдВрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрднреА рдХрд┐рд╕реА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдореИрдВ рд╣реВрдВ)ред рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рддреГрддреАрдп рдкрдХреНрд╖ libs рд╣реЛрдЧрд╛ред рдпреЗ рдЕрд╕рд▓реА рдХрд╛рд░рдг рд╣реЛрдВрдЧреЗ рдХрд┐ рд▓реЛрдЧ .net core рдкрд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗ

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

рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ .NET Core рдЕрдм DNF рдХреЗ рд╢рд╛рд╕рди рдореЗрдВ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдпреЗ рдирд┐рд░реНрдгрдп рдЕрдм рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ MS рдЖрдВрддрд░рд┐рдХ рдирд╣реАрдВ рд╣реИрдВред

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

рдореИрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ XML-RPC.net рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдХреБрдЫ рдЧрдВрднреАрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреЗрдЯрдХреЛрд░ 2 рдЗрд╕рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреА рд╣реЛрдЧреАред

рдореБрдЭреЗ рдпрд╣ рдкреВрд░реА рд╕реНрдерд┐рддрд┐ рдереЛрдбрд╝реА рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд▓рдЧрддреА рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рдЬреЛ .NET рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХреЗ, рдЕрдВрддрд┐рдо рд╕рдордп рдореЗрдВ, рдлрд┐рд░ рднреА рдХрд┐рддрдиреА рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрд╕реЗрдЬрд┐рдВрдЧ (рдореЗрд░реА рд╕рдордЭ рд╕реЗ) рдХреЗ рд╕рд╛рде ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдкрд░ рдореМрдЬреВрджрд╛ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдмреЗрдЪрдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдКрд░реНрдЬрд╛ рдХрд╛ рдирд┐рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ .NET рдорд╛рдирдХ 2.0 рд╕рдВрдЧрддрддрд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рд░рд┐рд▓реАрдЬ рд╣реЛрдЧреА рдЬреЛ .NET рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдХреЛ рдкрд╛рдЯрддреА рд╣реИред v4.x рдЕрдВрдд рдореЗрдВ рдПрдХ рдареЛрд╕, рд╕реНрдерд┐рд░ .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдЕрдВрддрддрдГ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдорд╛рдирдХ 2.0 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рддрдХ .NET рдХреЛрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ "рд╡рд╛рджрд╛ рд╕реНрдерд┐рд░ рднреВрдорд┐" рд╣реЛрдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдерд╛ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд╕рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдЕрдм рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ ".NET рдорд╛рдирдХ" рдХреНрдпрд╛ рд╣реИ 2.0" рдХрд╛ рдЕрд░реНрде рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ рдФрд░ рдХрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рдкреВрд░реНрд╡ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдорддрджрд╛рди рдпрд╛ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдирд┐рд░реНрдгрдп "рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ" рд╢реВрдиреНрдп рд╕рдореБрджрд╛рдп рднрд╛рдЧреАрджрд╛рд░реА рдпрд╛ рдореМрдЬреВрджрд╛ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдкреНрд░рднрд╛рд╡ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╡рддрдГ рдкреВрд░реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЦрдВрдбрд┐рдд рдХрд░ рджреЗрдЧрд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдХреЗред .NET v4.x рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдХрдИ рдЙрджреНрдпрдо рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдХреЛрдб-рдмреЗрд╕ рдХреЛ ASP.NET рдХреЗ рдирдП рд╡рд┐рдХрд╛рд╕ рдореЙрдбрд▓ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдЙрдиреНрд╣реЗрдВ .NET рдХреЛрд░ рдкрд░ рддреЗрдЬреА рд╕реЗ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдпрд╣ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╕реЗ рднреА рд░реЛрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╡рд┐рдЦрдВрдбрди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рджреЛ рдореЗрдВ рднрдВрдЧ рдХрд░ рджреЗрдЧрд╛ред рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдкрд╛рдЗрдерди 2/3 рд╕реЗ рдЕрд▓рдЧ рдХреИрд╕реЗ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рд╡рд┐рдЦрдВрдбрди рд╕реЗ рдЕрдкреВрд░рдгреАрдп рд░реВрдк рд╕реЗ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЕрднреА рднреА рд▓рдЧрднрдЧ рдПрдХ рджрд╢рдХ рдореЗрдВ рдареАрдХ рдирд╣реАрдВ рд╣реЛ рдкрд╛рдпрд╛ рд╣реИред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдореМрдЬреВрджрд╛ .NET рдХреЛрдб-рдмреЗрд╕ рдмреНрд░рд╛рдЙрдирдлрд╝реАрд▓реНрдб рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ "рдбрд╛рд░реНрдХ рдореИрдЯрд░" .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЛ рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдгрдп рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред NET рдХреЛрд░ 1.1 .NET v4.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдФрд░ .NET рдорд╛рдирдХ 2.0 рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рдмреЗрд╣рддрд░ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рд╡рд╛рджрд╛ рдерд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдЗрд╕ рдлреИрд╕рд▓реЗ рдХреА рдЦрдмрд░ рдФрд░ рдкреНрд░рднрд╛рд╡ рдШрд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛, рддреЛ рдореИрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдХрдИ рджреЗрд╡ рдЬреЛ рдЕрдкрдиреЗ рд╕рдВрдЧрдарди рдХреЗ рднреАрддрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ .NET рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреА рдмрд┐рдХреНрд░реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕рдШрд╛рдд рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ рдбреЗрдб-рдПрдВрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдпрджрд┐ рд╡реЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ .NET рдХреЛрд░ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВ) ) рдПрдХ рдХрдареЛрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рддрдм рд╣реЛрдЧреА рдЬрдм рд╡реЗ рдЕрдкрдиреЗ рд╕рдВрдЧрдарди рдореЗрдВ рд╣рд┐рддрдзрд╛рд░рдХреЛрдВ рдХреЛ рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдиреЗ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рдореЗрдВ рд╕рдлрд▓ рд╣реЛрдВрдЧреЗред

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

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

.NET рджреЗрд╡реЛрдВ рдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рдПрдХ рдкреЛрд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪрд▓рд╛рддреЗ? рдпрд╛рдиреА рдПрдХ рдареЛрд╕, рд╕реНрдерд┐рд░ рдкреЙрд▓рд┐рд╢ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдпрд╛ рдПрдХ "рдлрд╛рд╕реНрдЯ рдореВрд╡рд┐рдВрдЧ" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ .NET v4.x рдкрд░ рдмреИрдХ-рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди ASP.NET рдХреЛрд░ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рдЕрдореВрд▓реНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдерд┐рд░ рд╕рдВрдЧрдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рджреЗрдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЯрд░реНрдо рд╕рдкреЛрд░реНрдЯ рдЬреЛ рдпрд╛ рддреЛ .NET v4.x рдпрд╛ .NET Core рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

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

.NET Core 2.0 рдореЗрдВ рдХреБрдЫ .NET Framework рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рднреАрддрд░ рд░рд╣рддреЗ рд╣реИрдВ)ред

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рдЕрдВрддрддрдГ рдХреИрд╕реЗ рдЪрд▓реЗрдЧрд╛ рдФрд░ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХрд╛ рд╕рдВрдкреВрд░реНрдг .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдкрд░ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рд╡реНрдпрд╛рдкрдХ рдкреНрд░рднрд╛рд╡ рд╡рд╛рд▓реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рд╕рдореБрджрд╛рдп рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдХрд╛рд╢ рдЖрдк рд▓реЛрдЧ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реЗ рдХрдо рдирд░реНрдХ рд╣реЛрддреЗред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рддреЗ рд╕рдордп рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЧрд░реНрджрди рдореЗрдВ рджрд░реНрдж рд╣реИ (Newtonsoft.Json рдореЗрдВ #if рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ 1300+ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ) рд▓реЗрдХрд┐рди "рдпрд╣ рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрд┐рдХреНрд░реА рдмрд┐рдВрджреБ рд╣реИред

.NET рджреЗрд╡реЛрдВ рдХреЛ рдФрд░ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рдПрдХ рдкреЛрд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪрд▓рд╛рддреЗ? рдпрд╛рдиреА рдПрдХ рдареЛрд╕, рд╕реНрдерд┐рд░ рдкреЙрд▓рд┐рд╢ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдпрд╛ рдПрдХ "рдлрд╛рд╕реНрдЯ рдореВрд╡рд┐рдВрдЧ" рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ .NET v4.x рдкрд░ рдмреИрдХ-рдкреЛрд░реНрдЯрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдкреНрд░рдпрд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди ASP.NET рдХреЛрд░ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рдЕрдореВрд▓реНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдерд┐рд░ рд╕рдВрдЧрдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рджреЗрдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЯрд░реНрдо рд╕рдкреЛрд░реНрдЯ рдЬреЛ рдпрд╛ рддреЛ .NET v4.x рдпрд╛ .NET Core рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╢реНрди, ASP.NET Core 1.x рд╡рд░реНрддрдорд╛рди рдореЗрдВ .NET Framework рдФрд░ .NET Core рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓реАрдВред рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдлреА рд╣реЛрдЧрд╛?

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

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

рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ ASP.NET Core 2.0 рдХреЛ рдЕрднреА рддрдХ рд╢рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ ASP.NET Core 3.0 рд░рд┐рд▓реАрдЬ рд╣реЛрддрд╛ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЧрд┐рд░рд╛ рджреЗрддрд╛ рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЪреАрдЬреЗрдВ рдмреЗрд╣рддрд░ рд╣реЛ рдЬрд╛рддреАрдВ? рдпрджрд┐ рдЖрдк @gulbanana рдФрд░ @ikourfaln рд╕реЗ рдХреБрдЫ рдлреАрдбрдмреИрдХ рджреЗрдЦреЗрдВ, рддреЛ рдРрд╕реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрднреА рднреА .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдирд╛? рдХреНрдпрд╛ рдЕрдм рд╕реЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣рдорд╛рд░реА рдпрд╣реА рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рддрдм рддрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдмрдбрд╝реЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдХрдо рд╣реЛрддрд╛ рд╣реИ? рдЙрди рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛ рдЬрд╣рд╛рдВ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛ рдЧрдпрд╛ рдерд╛)? рдХреНрдпрд╛ рдпреЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ?

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рддреЗ рд╕рдордп рдореЗрд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрдерд╛рд╕рдВрднрд╡ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЧрд░реНрджрди рдореЗрдВ рджрд░реНрдж рд╣реИ (Newtonsoft.Json рдореЗрдВ #if рдХрдВрдкрд╛рдЗрд▓рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ 1300+ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддреЗ рд╣реИрдВ) рд▓реЗрдХрд┐рди "рдпрд╣ рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрд┐рдХреНрд░реА рдмрд┐рдВрджреБ рд╣реИред

рдХреЛрдИ рдЕрдкрд░рд╛рдз рдирд╣реАрдВ @JamesNK рд▓реЗрдХрд┐рди JSON.NET рдПрдХ JSON рдкрд╛рд░реНрд╕рд░ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдХреЗрдЬ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдФрд░ рд╣реИрдВ)ред ASP.NET Core рдореЗрдВ> 200 рдкреИрдХреЗрдЬ рд╣реИрдВред

рдХреЛрдИ рдЕрдкрд░рд╛рдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдВрд╢рдХрд╛рд▓рд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╣реВрдВред рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрдард┐рди рд╣реИ рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рддреЗрдЬреА рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред

рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдмрд╣реБрдд рдХрдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдпреЛрдЬрдирд╛рдПрдБ рдЦрдбрд╝реА рд╣реИрдВ, рд╣рдо рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдРрдк рдХреЛ netstandard / netcoreapp рдкрд░ рддрдм рддрдХ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдХрд┐ System.DirectoryServices рдЙрдкрд▓рдмреНрдз рди рд╣реЛ ( CoreFX рдореБрджреНрджрд╛ #2089 рдпрд╣рд╛рдВ )ред рдЗрд╕рд▓рд┐рдП рдЬрдм рд╣рдо ASP.NET Core 1.x рдкрд░ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо 2.0 рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗред рдпрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ: рдСрдкрд░рд╕рд░реНрд╡рд░, рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╣реА, рд╣рдорд╛рд░реЗ рдЖрдВрддрд░рд┐рдХ рдРрдкреНрд╕ ... рдХреБрдЫ рднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ 2.0 рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд╕реНрдЯреИрдВрдбрдЕрдк рдХреЗ рдЕрдиреБрд╕рд╛рд░, 2.x рдмрд╛рдж рдХреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ DirectoryServices рдЬреИрд╕реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬрд╝реЗрдВ рдЕрднреА рднреА рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВрдЧреАред

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

рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ AD рдСрде (рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ 1.x рд▓рд╛рдЗрди рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣реА рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдиреЗ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЬрд╛ рд░рд╣рд╛ рдерд╛ ... рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рджрд┐рд╢рд╛ рд╣реИ рддреЛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдЯреНрд╕ рдЧрдВрддрд╡реНрдп рдкрд░ рдЙрдкрд▓рдмреНрдз рди рд╣реЛрдВред

рдЕрдЧрд░ рд╣рдо рдпреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рддреЗрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ System.DirectoryServices , System.Drawing , рдФрд░ рдЕрдиреНрдп рд╢реАрд░реНрд╖ рдЖрдЗрдЯрдо рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪрд╛рд╣рд┐рдП ASP.NET Core 2.0 рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ, рддреЛ рдореЗрд░реА рд░рд╛рдп рдмрд╣реБрдд рдмрджрд▓ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рд╡реЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ (рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрдХреНрд░рдо рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ), рдХреГрдкрдпрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рддрдм рддрдХ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рди рд╣реЛрдВред

рддреЗрдЬ рдЪрд▓рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИред рдореИрдВ рдЕрднреА рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдЕрд▓реНрдлрд╛рдЬ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ "рд╕реНрдерд┐рд░ рдордВрдЪ" рдмрдирд╛рдо "рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдВ" рдЪреАрдЬред рдПрдХ рддрд░рдл, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реНрдерд┐рд░ рдФрд░ рднрд░реЛрд╕реЗрдордВрдж рдФрд░ рд╕рдВрдЧрдд рд╣реЛ, рджреВрд╕рд░реА рддрд░рдл рдХреЛрдИ рднреА 1.x рдкрд░ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ 2.x рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпрд╛ ASP.NET Core 2.x рдореЗрдВ рд╕реБрдкрд░ рд╕рдореНрдореЛрд╣рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЦреАрдВрдЪ рд░рд╣реА рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рддрдереНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1.x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдпрд╛ рдФрд░ рдЪрдордХрджрд╛рд░ рд╣реИ)?

рдпрджрд┐ рдпрд╣ рдмрд╛рдж рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╡реЗ рд▓реЛрдЧ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдЙрддреНрддрд░ рд╣рд╛рдБ рд╣реИ, рддреЛ ASP.NET Core 1.x рдкрд░реНрдпрд╛рдкреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

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

рд╕рд╣рдордд, рд▓реЗрдХрд┐рди рдЖрдкрдХреА рд░рд╛рдп рдореЗрдВ, рдпрд╣ ASP.NET Core 2.x рдбреНрд░реЙрдкрд┐рдВрдЧ .NET Framework рд╕рдорд░реНрдерди рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдЬрдм рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдСрдирд▓рд╛рдЗрди рдЖрддреА рд╣реИ, рддреЛ рд╡реЗ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕реЗрдЯ рдХреЛ рд▓рд╛рдн рдорд┐рд▓реЗрдЧрд╛ред ASP.NET рдХреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рдЕрдЪрд╛рдирдХ рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред

рдпрджрд┐ рдпрд╣ рдмрд╛рдж рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╡реЗ рд▓реЛрдЧ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ? рдЕрдЧрд░ рдЙрддреНрддрд░ рд╣рд╛рдБ рд╣реИ, рддреЛ ASP.NET Core 1.x рдкрд░реНрдпрд╛рдкреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

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

рдХреНрдпрд╛ ASP.NET Core 2.x рдореЗрдВ рд╕реБрдкрд░ рд╕рдореНрдореЛрд╣рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЦреАрдВрдЪ рд░рд╣реА рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рддрдереНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1.x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдпрд╛ рдФрд░ рдЪрдордХрджрд╛рд░ рд╣реИ)?

рд╕рдорд░реНрдерди - рдпрд╣реА рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рднреБрдЧрддрд╛рди рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЕрдЧрд░ рдЙрддреНрддрд░ рд╣рд╛рдБ рд╣реИ, рддреЛ ASP.NET Core 1.x рдкрд░реНрдпрд╛рдкреНрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдКрдкрд░ рд╕реНрдХреЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред рдФрд░ рддрдм рддрдХ рдореИрдВ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рдкрд╛рдКрдВрдЧрд╛ред

рдпрд╣ ASP.NET Core 2.x рдбреНрд░реЙрдкрд┐рдВрдЧ .NET Framework рд╕рдорд░реНрдерди рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рд╡реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡реЗ рдХрдм рд╣реЛрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдореИрдВ 1.x рдкрд░ рдЕрдЯрдХрд╛ рд░рд╣реВрдВрдЧрд╛ рдФрд░ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдореЗрд░реЗ рдкрд╛рд╕ рдЯрд╛рдЗрдо рдмрдо рд╣реИред рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдореЗрд░реЗ рдкрд╛рд╕ 1.0 рд╕реЗ 2.x (рдпрд╛ 3.x) рддрдХ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдЧрд╛? рд╢рд╛рдпрдж рдирд╣реАрдВред

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

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

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ: рдПрдХ рдирдпрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рд▓рдЧрднрдЧ рдЬреБрд▓рд╛рдИ 2018 рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж: рдореБрдЭреЗ рдХреБрдЫ рдирд╣реАрдВ рдкрддрд╛, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЬреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рддрдм рддрдХ netstandard / netcoreapp рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ ASP.NET рдХреЛрд░ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд░рд╛рдм рд╢рд░реНрдд рд╣реИ (рд╣рдорд╛рд░реЗ рд▓рд┐рдП) рдФрд░ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░реЗрдЧреАред

рдореБрдЭреЗ рдПрдХ-рдкрдВрдХреНрддрд┐ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рджреЗрдВ: .NET рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛, ASP.NET рдХреЛрд░ рдЕрдЧрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╣реИ:

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 1: рдЗрд╕реЗ net461 рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ ifdefs, perf рдХреНрдпрд╛ рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 2. рдпрджрд┐ рдЖрдк .NET Core 2.0 рдкрд░ рдЗрд╕реЗ 10 рдЧреБрдирд╛ рддреЗрдЬ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреБрдирдиреЗ рдФрд░/рдпрд╛ рдЬрдм рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрдм рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рд╣реИред

рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЕрднреА рднреА рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдзреАрдорд╛ рд╣реЛред

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 1: рдЗрд╕реЗ net461 . рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ

рдФрд░ рдЕрдЧрд░ .NET Core рдкреВрд░реА рддрд░рд╣ рд╕реЗ net461 (рдХрд╛рд░рдг рдХреЗ рднреАрддрд░) рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдерд╛; рдЗрд╕рд▓рд┐рдП net461 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдХреБрдЫ рднреА рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рддреЛ рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реЛрдЧрд╛?

рдореВрд▓ рд░реВрдк рд╕реЗ, рдЙрд╕ рд╕рдордп рдЖрдкрдХреЗ рдкрд╛рд╕ net4x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕рд╛рде-рд╕рд╛рде рдФрд░ рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд (рдПрдХреНрд╕-рдкреНрд▓реЗрдЯ рдХрд╛ рд╕реНрдкрд░реНрд╢ рднреА) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдмрдХрд┐ net461 рдореЗрдВ рдкреВрд░реА рдорд╢реАрди 4.6.1, 4.6.2, 4.7 рдЖрджрд┐ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ

рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХреБрдЫ рдХрд╛рдо рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдЖрдВрд╢рд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреА рддрд░рд╣ - рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдХрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рд╢реНрди, ASP.NET Core 1.x рд╡рд░реНрддрдорд╛рди рдореЗрдВ .NET Framework рдФрд░ .NET Core рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рд╕реНрдерд┐рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдХрд┐ рд╣рдо рджреЛрдиреЛрдВ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓реАрдВред рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдлреА рд╣реЛрдЧрд╛?

рдореБрдЭреЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 2.0 рдХреА рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдЬреИрд╕реЗ рдЙрдмрдВрдЯреВ/рд░реЗрдбрд╣реИрдЯ рдЙрдирдХреЗ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ 5+ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдареЛрд╕ рд╕рдВрдЧрдд рд▓рдХреНрд╖реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдХреНрдпрд╛ рдЕрдм рд╕реЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣рдорд╛рд░реА рдпрд╣реА рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рддрдм рддрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдмрдбрд╝реЗ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡ рдХрдо рд╣реЛрддрд╛ рд╣реИ? рдЙрди рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛ рдЬрд╣рд╛рдВ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛ рдЧрдпрд╛ рдерд╛)? рдХреНрдпрд╛ рдпреЗ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ?

рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ .NET v4.x рдФрд░ .NET Core рджреЛрдиреЛрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ ASP.NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдирдИ .NET рдХреЛрд░-рдУрдирд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ .NET рдХреЛрд░-рдУрдирд▓реА рдкреИрдХреЗрдЬ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ MS .NET 4.x рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдирд╛ рддрдп рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрд▓рдЧ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ ASP.NET 2.0 LTS рд░рд┐рд▓реАрдЬрд╝ рдЕрдЧрд▓реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛрдЧреАред рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдИ рднреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рднреА .NET Core-only v3.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

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


рдореБрдЭреЗ рдЗрд╕ рдмрд╛рддрдЪреАрдд рд╕реЗ рджреЛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ/рд╕реВрддреНрд░ рдирд┐рдХрд▓рддреЗ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реЗ рд╣реИрдВ:

  1. vnext рдореЗрдВ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдзред (рдпрд╣рд╛рдБ рдореЗрдВ 99% рдЙрддреНрддрд░ рд╣реИрдВ)
  2. рдРрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрдгрдп рдкрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкрд░рд╛рдорд░реНрд╢ рдХрд╛ рдЕрднрд╛рд╡ред (рдпрд╣рд╛рдВ 2 рдпрд╛ 3 рдЙрддреНрддрд░)ред

рдЯреАрдПрд▓; рдбреЙ;

  • рдХреНрдпрд╛ рд╣рдо рдмрдбрд╝реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг vnext рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЦреБрд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЗрди рдЕрдЧрд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдореБрджрд╛рдп рд╕реЗ рдХреБрдЫ RFC рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВред

@mythz рдиреЗ рдЕрдкрдиреЗ рд╢реБрд░реБрдЖрддреА рд╡рд╛рдХреНрдп рдореЗрдВ (рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░), ~ рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ ~ рджреВрд╕рд░реА рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╣рд╛:

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

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

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдордПрд╕ рдиреЗ рдЬреЛ рдирдИ рджрд┐рд╢рд╛ рд▓реА рд╣реИ (рдУрдПрд╕рдПрд╕-рдСрд▓-рдж-рдерд┐рдВрдЧреНрд╕, рдЖрджрд┐) рдФрд░ рдкрд┐рдЫрд▓реЗ 12/18 рдорд╣реАрдиреЛрдВ рдореЗрдВ рдХреБрдЫ рд╣рд╛рд▓рд┐рдпрд╛ рдореЗрдЧрд╛-рдЙрдмрд░-.рдиреЗрдЯ-рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде (рдкрдврд╝реЗрдВ: рдЙрди рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЪрд░реНрдЪрд╛ рдЕрдиреБрднрд╡реЛрдВ рд╕реЗ рд╕реАрдЦрдирд╛ ) ... рдХрд┐ "рд╣рдо" рдЗрд╕рдореЗрдВ рдПрдХ рд╕рд╛рде рд╣реИрдВ рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд░рд┐рдпрд▓реА-рдмрд┐рдЧ-рдерд┐рдВрдЧреНрд╕ тДвя╕П рдкрд░ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдЦреБрд▓реЗ рддреМрд░ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред

рддреЛ - рдХреНрдпрд╛ рд╣рдо рдЗрди рдмрдбрд╝реЗ рдлреИрд╕рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдЦреБрд▓рдХрд░ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреБрдЫ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкрд░рд╛рдорд░реНрд╢ рдФрд░ рдЪрд░реНрдЪрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?

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

рд▓реЗрдХрд┐рди рдЕрдЧрд░ MS .NET 4.x рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдирд╛ рддрдп рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрд▓рдЧ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ ASP.NET 2.0 LTS рд░рд┐рд▓реАрдЬрд╝ рдЕрдЧрд▓реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛрдЧреАред рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдИ рднреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рднреА .NET Core-only v3.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рднреА ASP.NET 2.0 рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╛ рддреЛ рд╡реЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред рддреЛ ASP.NET Core 1.x рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИ? рдпрд╣ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ, рдХреЛрд░ 1.0 рдФрд░ рдХреЛрд░ 2.0 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ ASP.NET Core 2.x рдХреЗ рд▓рд┐рдП рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

@onovotny

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

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИ рдЬрдм .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдУрдПрд╕ рдШрдЯрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рдмрдбрд╝рд╛ рд╕реНрдерд┐рд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ @terrajobst рдиреЗ рдХрд╣рд╛, рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐, ASP.NET Core .NET Core рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдкреВрд░реЗ рд╕реНрдЯреИрдХ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЕрдм рддрдХ, 2 рд░рдирдЯрд╛рдЗрдо рдХреЗ рдмреАрдЪ рдмрдбрд╝реЗ рдкреНрд░рджрд░реНрд╢рди рдЕрдВрддрд░ рд╣реИрдВ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЕрднреА рддрдХ рдирдП рдПрдкреАрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд▓реЗрдиреА рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╣рдо рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ, рд╣рдо рдирдП рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗ рднреА рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рднреА рдФрд░ рд╣рдо рд╕рдмрд╕реЗ рд╕реНрдерд┐рд░ рдФрд░ рд╕рдмрд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд░рдирдЯрд╛рдЗрдо (.NET Framework) рдХреА рдЧрддрд┐ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@рдирд┐рдХрдХреНрд░реИрд╡рд░

рдХреНрдпреЛрдВрдХрд┐ рд╕рдорд░реНрдерди рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдКрдкрд░ рд╕реНрдХреЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░)ред рдФрд░ рддрдм рддрдХ рдореИрдВ рдореБрд╢реНрдХрд┐рд▓ рд╕реЗ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рдкрд╛рдКрдВрдЧрд╛ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рд╣реИред рдЬрдм 2.0 рдЙрдкрд▓рдмреНрдз рд╣реЛ 1.1 рддрдм рднреА рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ред рддреЛ рдЖрдк рдХрд┐рд╕ "рд╕рдорд░реНрдерди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕рд╢реБрд▓реНрдХ рд╕рд╣рд╛рдпрддрд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рд╛рдордиреЗ рдЖрдПрдВрдЧреА рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ?

рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ, рд╡реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡реЗ рдХрдм рд╣реЛрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП рдореИрдВ 1.x рдкрд░ рдЕрдЯрдХрд╛ рд░рд╣реВрдВрдЧрд╛ рдФрд░ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдореЗрд░реЗ рдкрд╛рд╕ рдЯрд╛рдЗрдо рдмрдо рд╣реИред рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреНрдпрд╛ рдореЗрд░реЗ рдкрд╛рд╕ 1.0 рд╕реЗ 2.x (рдпрд╛ 3.x) рддрдХ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдЧрд╛? рд╢рд╛рдпрдж рдирд╣реАрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓реЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЬреЛ рдХреБрдЫ рднреА рд╣реИ) рдФрд░ рдЖрдк рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ .NET рдХреЛрд░ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рди рд╣реЛрдВ рддрд╛рдХрд┐ рдкреЛрд░реНрдЯ рдЖрдкрдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдЖрд╕рд╛рди рд╣реИред

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

ASP.NET рдХреЛрд░ рдЦреБрд▓рд╛рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдЕрдЧрд░ рд╣рдордиреЗ 3.0 рдореЗрдВ .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЛрдЧ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ), рддреЛ рдХреНрдпрд╛ рдЖрдк рдЙрд╕реА рдореГрдд рдЕрдВрдд рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ? рдЖрдкрдХреЗ рдкрд╛рд╕ ASP.NET Core 2.0 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрдм 3.0 рдмрд╛рд╣рд░ рдЖ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЖрдк рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдВрдЧреЗред рдЖрдк рд╡реИрд╕реЗ рднреА ASP.NET Core 1.1.x рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬреЛ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ ASP.NET Core 2.0 рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдкрд░ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИред

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

рддреЛ рдПрдХ рдФрд░ рд╕рд╛рд▓ рд╕рдмрдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реИ? рдЗрд╕ рд╕реВрддреНрд░ рд╕реЗ рдореБрдЭреЗ рд╡рд╣ рдЕрдиреБрднреВрддрд┐ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 1: рдЗрд╕реЗ net461 рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ ifdefs, perf рдХреНрдпрд╛ рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ 2. рдпрджрд┐ рдЖрдк .NET Core 2.0 рдкрд░ рдЗрд╕реЗ 10 рдЧреБрдирд╛ рддреЗрдЬ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреБрдирдиреЗ рдФрд░/рдпрд╛ рдЬрдм рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрдм рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рд╣реИред

рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЕрднреА рднреА рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдзреАрдорд╛ рд╣реЛред

рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг .NET Framework рдЖрдЬ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдереЗред рдпрд╣ рдореБрдлрд╝реНрдд рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛, рдпрд╣ "рд╕рд┐рд░реНрдл рддреЗрдЬрд╝ рдХреЛрд░ рдкрд░" рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛ рдкрдбрд╝рд╛ рддрд╛рдХрд┐ рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдПрдкреАрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ) рддреЛ рдлреАрдЪрд░ рдЧреИрдк 2 рдХреЗ рдмреАрдЪ рдмрдврд╝реЗрдЧрд╛ рдЬреЛ рдЕрднреА рддрдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рд╣рдо рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ @PinpointTownes рдХрд╣рддреЗ рд╣реИрдВ рдФрд░ NotSupportedException рдлреЗрдВрдХрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдлреАрдЪрд░ рдЧреИрдк рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди IMO рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИред

рд╣рдордиреЗ рдЕрдкрдиреЗ ASP.net MVC5 рдРрдк рдХреЛ ASP.net рдХреЛрд░ рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рдХрд╛рд╕ рдмрдЬрдЯ рдЦрд░реНрдЪ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рдпрд╣ Azure рд╕рд░реНрд╡рд┐рд╕ рдлреИрдмреНрд░рд┐рдХ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд╕рдХреЗред рдкреВрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБ-рдорд╣реАрдиреЗ рдХреА рдереА рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрдИ рд╕рдкреНрддрд╛рд╣ рдереЗ (рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, рдЕрдЬреАрдм рд╡реАрдПрд╕2015 рдЯреВрд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреБрд╢реНрддреА)ред

рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ ASP.net рдХреЛрд░ ( @davidfowl рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдкрд░ SignalR рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрднреА рднреА рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ?

рдлрд┐рд░ рд╣рдордиреЗ рдирдП рд╡реАрдПрд╕2017 рдЯреВрд▓рд┐рдВрдЧ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред рдмрдврд╝рд┐рдпрд╛ред

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

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдмреНрд░рд╛рдВрдбреЗрдб рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рд▓реЛрдЧ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдЬ рдХреЗрд╡рд▓ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреВрд╕рд░рд╛, рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдФрд░ рдХреНрдпрд╛ (рдпрджрд┐ рдХреБрдЫ рднреА) рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ ASP.net рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред рддрдм, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, Netfx рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред

рд╣рдо рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ @PinpointTownes рдХрд╣рддрд╛ рд╣реИ рдФрд░ NotSupportedException рдХреЛ рдлреЗрдВрдХрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рдЬрдм рд╡реЗ рдлреАрдЪрд░ рдЧреИрдк рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди IMO рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИред

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

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рднреА рдЕрднреА рддрдХ ASP.NET 2.0 рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реИ

рдореИрдВ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рджреЗрд╡ рдПрдХ рд╕реНрдерд┐рд░ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЧрдд .NET рдорд╛рдирдХ 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рд╣реИред рд╡реЗ .NET Core 1.1 рдХреЛ рдЕрдкрдирд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЕрдм рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕реЗ EOL'ed рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ MS рдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рднреА рдкреБрд░рд╛рдиреЗ DNX/.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдХреЛрдИ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЧрдд рд╕реНрдерд┐рд░ LTS рд░рд┐рд▓реАрдЬрд╝ рдерд╛ рдЬрд┐рд╕реЗ рдмрд╛рдХреА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЙрджреНрдпрдореЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╡реЗ .NET Core vNext рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реЛрдЧрд╛ рдЬреЛ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реЛрдЧрд╛ред v2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЬрдм рд╕рдордп рдЖрдПрдЧрд╛ рддреЛ ASP.NET Core 2.0/.NET v4.6 рд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреЗ .NET Core рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдирдХреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

@mythz

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

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

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

рдареАрдХ рд╣реИ, рд╡рд╣ ASP.NET Core 1.x рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рд╕рдорд░реНрдерди 1.x рдкрд░ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдХреНрдпрд╛ рд╡рд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛? рд╣рдо рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ASP.NET Core 1. рдЬреЛ рдХрд┐ netstandard 1.x рд╣реИ, .NET Core 2.0 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ (рдЬреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

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

рдореИрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рднреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЙрди рдПрдкреАрдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред #ifdefs рдпрд╣рд╛рдБ рдорджрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ рд╣реА рдЕрдВрддрд░рд╛рд▓ рдмрдврд╝реЗрдЧрд╛ рд╣рдо рдлреЗрдВрдХ рджреЗрдВрдЧреЗред

@davidfowl рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рдкреНрд░рд╢реНрди - рдЙрддреНрддрд░:

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рд╕рд╢реБрд▓реНрдХ рд╕рд╣рд╛рдпрддрд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рд╛рдордиреЗ рдЖрдПрдВрдЧреА рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ?

рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди - рдХреНрдпрд╛ 1.x рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рднрдВрдЧ рдХреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛, рдпрд╛ рд╣рдореЗрдВ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛? (рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдПрдХ рдЕрдкрдЧреНрд░реЗрдб рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рддрдм рддрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреИрд╕реЗ DirectoryServices рдирд╣реАрдВ рд╣реИрдВ ... рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╣реАрдВ рднреА рдореБрдлреНрдд рдпрд╛ рд╕рд╕реНрддреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдорд╣реАрдиреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ)ред рд╣рдо рдмрдбрд╝реЗ рд╣реИрдВ, рд╣рдо рддреЗрдЬрд╝ рд╣реИрдВ, рд╣рдо рдврд╛рдВрдЪреЗ рдореЗрдВ рд╡рд┐рд░рд╛рдо рдкрд╛рдПрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рд▓реЛрдВ рд╕реЗ рд╣рд░ рдмрдбрд╝реА рдФрд░ рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╣реИред рд╕рдорд░реНрдерди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк ASP.NET Core рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдРрд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд╛рдо рдХрд░реЗ рдФрд░ рдЖрдЧреЗ рдХрд╛ рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд░реЗред 1.x рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдЖрдзрд╛ рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рддрдХ, рджреВрд╕рд░реЗ рдХреА рддрд░рд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред

ASP.NET рдХреЛрд░ рдЦреБрд▓рд╛рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?

рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдЖрдк рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╕рдорд░реНрдерди рдореЗрдВ рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИрдВред

рдЕрдЧрд░ рд╣рдордиреЗ 3.0 рдореЗрдВ .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЛрдЧ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ), рддреЛ рдХреНрдпрд╛ рдЖрдк рдЙрд╕реА рдореГрдд рдЕрдВрдд рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ?

рд╢рд╛рдпрдж? рдмрд┐рдВрджреБ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдорд╛рдирддрд╛ рд╣реИред рдпрд╣ рдореЗрд░рд╛ рдХрд░рд┐рдпрд░ рд╣реИ, рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдЬрдм рджреВрд╕рд░рд╛ рдкрдХреНрд╖ рд╣рдорд╛рд░рд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдпрд╣ рдореЗрд░реА рдУрд░ рд╕реЗ рдЧреИрд░-рдЬрд┐рдореНрдореЗрджрд╛рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ 2.x рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдЧреЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдФрд░ ASP.NET рдХреЛрд░ рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛рдирд╛ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рддреЛ рдПрдХ рдФрд░ рд╕рд╛рд▓ рд╕рдмрдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╣реИ?

рд╕рдордп рдХреА рдкреВрд░реНрдг рд▓рдВрдмрд╛рдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ - рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ рд╕рдВрдЧрддрддрд╛ + рд╕рдордп (рдЖрдИрдПрдордУ) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдиреЗ рдЖрдЬ рдХрд╛рдо рдХрд┐рдпрд╛ (рдЬреИрд╕реЗ AD auth), рддреЛ 2 рд╕рд╛рд▓ рдХрд╛рдлреА рд╣реИрдВ, рд╣рд╛рдБред рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдирд╛ рдХрд┐ рдЕрдм рд╕реЗ рдПрдХ рдордирдорд╛рдирд╛ рдмрд┐рдВрджреБ рдареАрдХ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛, рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред

рдпрд╣ рдореБрдлрд╝реНрдд рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛, рдпрд╣ "рд╕рд┐рд░реНрдл рддреЗрдЬрд╝ рдХреЛрд░ рдкрд░" рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдирд╛ рдкрдбрд╝рд╛ рддрд╛рдХрд┐ рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗред рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдПрдкреАрдЖрдИ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддреЗ рд╣реИрдВ (рдФрд░ рд╣рдордиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ) рддреЛ рдлреАрдЪрд░ рдЧреИрдк 2 рдХреЗ рдмреАрдЪ рдмрдврд╝реЗрдЧрд╛ рдЬреЛ рдЕрднреА рддрдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

рдлрд┐рд░ рдХреЛрдИ рдЕрдкрд░рд╛рдз рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдФрд░ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛? рдпрд╣ рдХрдерди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдорд╛рд░рд╛ рд╕рдордп рдХрд╣реАрдВ рдФрд░ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ?

рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рдЖрдЬ netstandard рдкрд░ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ, рд▓реЙрдиреНрдЪ рдХреЗ рд╕рдордпред рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реИ рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдХреНрдпреЛрдВ рдХрд░реЗрдВрдЧреЗ? рдЯреАрдо рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреА рд░рд╣рддреА рд╣реИ (рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдореИрдВ рддреЗрдЬреА рд╕реЗ рджреМрдбрд╝рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред

рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд▓реАрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рджрд╛рдВрд╡ рд▓рдЧрд╛рддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдПрдХ рдЦрд░рд╛рдм рджрд╛рдВрд╡ рд╣реИред рдЬрдм рд╕рдВрд╕реНрдХрд░рдг 1 рдЖрдкрдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 2 рдХрд┐рд╕реА рджрд┐рди рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдордп рдФрд░ рдзрди рдХреЗ рд╕рд╛рде рдПрдХ рдмреБрд░рд╛ рдЬреБрдЖ рд╣реИред рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ, рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП .NET рдХреЛ рдЪреБрдирд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдирдП рд╢рдмреНрдж рдореЗрдВ рд╣рдо рдЙрди рд╕рднреА 3 рд╕реЗ 1 рддрдХ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ (рдПрдкреАрдЖрдИ рд╕рддрд╣, libs), рдФрд░ рд╕рдорд░реНрдерди рдХрд┐рд╕реА рднреА рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдЕрдкрдЧреНрд░реЗрдб рдкрде рдХреЗ рдмрд┐рдирд╛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЬреНрдЮрд╛рдд рд╕рдордпред

@jahmai

рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ ASP.net рдХреЛрд░ ( @davidfowl рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдкрд░ SignalR рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрднреА рднреА рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ?

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рдЧреНрдирд▓рдЖрд░ 2 рднреА ASP.NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ)ред рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ рдФрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 2.0 рдХреЗ рд╕рд╛рде рднреА рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рдмрд╛рдж рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИред

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

рдХреНрдпрд╛ ASP.NET Core 2.0 рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ? рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрддрдГ рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдЙрд╕ рд╕рдордп рдЪреАрдЬреЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреА?

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдмреНрд░рд╛рдВрдбреЗрдб рд╕рдм рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рд▓реЛрдЧ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдЬ рдХреЗрд╡рд▓ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреВрд╕рд░рд╛, рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдФрд░ рдХреНрдпрд╛ (рдпрджрд┐ рдХреБрдЫ рднреА) рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ ASP.net рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред рддрдм, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА, Netfx рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред

рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рдХрд┐рдП рдЧрдП рдереЗ рддрд╛рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрдд рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╣реЛрдВред рдмреЗрд╢рдХ рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬреЛ рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ рдерд╛ рдФрд░ ~ 60% рдкреБрд╕реНрддрдХрд╛рд▓рдп рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╕рд╛рде рдПрдкреАрдЖрдИ рд╕рдВрдЧрдд рд╣реИрдВ (рдЕрдЧрд░ рдореИрдВ рдЙрд╕ рдирдВрдмрд░ рдкрд░ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ @terrajobst) рдФрд░ рд╕рд┐рд░реНрдл .NET Core 2.0 рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдареАрдХ рд╣реИ, рд╡рд╣ ASP.NET Core 1.x рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рд╕рдорд░реНрдерди 1.x рдкрд░ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдХреНрдпрд╛ рд╡рд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛?

рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ .NET рдорд╛рдирдХ 2.0 рд╕реНрдерд┐рд░ рдордВрдЪ рд╣реЛрдЧрд╛ рдЬреЛ .NET 4.x рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рдкрд╛рдЯрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рдЙрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╣реЛрдЧрд╛ред рдХреЛрдИ рднреА 1.1/.NET v4.x рдХреЗ EOL'ed рдордзреНрдп-рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП LTS рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдкрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рд╕рдореНрдорд╛рдирдЬрдирдХ рд╣реЛрдЧрд╛, рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ .NET 4.x рд╕рдорд░реНрдерди рдХреЛ рдЦреАрдВрдЪреЗ рдирд╣реАрдВ, рдирд╣реАрдВ- рдХреЛрдИ рдЙрд╕ рддрд░рд╣ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рдореЗрдВ рдПрд▓рдЯреАрдПрд╕ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ .NET рдХреЛрд░ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ *.Core рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдирд╛рдП рд╣реБрдП рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рдЕрд▓рдЧ рд░рд┐рд▓реАрдЬ рдХреИрдбреЗрдВрд╕ рдкрд░ рдмрдиреЗ рд░рд╣ рд╕рдХреЗрдВ рдЬреЛ рдирд╡реАрдирддрдо .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╣реА рд╣рдо рдореБрдЦреНрдп NuGet рдкреИрдХреЗрдЬ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдореБрдЭреЗ .NET рдорд╛рдирдХ 2.0 рд╕реЗ рдЙрдореНрдореАрдж рдереА, рди рдХрд┐ рд╡рд░реНрддрдорд╛рди .NET рдорд╛рдирдХ рд╕реЗред 1.1/1.3/1.6 рдорд┐рд╢реНрд░рдгред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдПрдХ рд╕рдордп рдРрд╕рд╛ рднреА рдерд╛ рдЬрдм 1.7/8 рд╕реНрдЯреЙрдк рдЧреИрдк рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдереА рдЬреЛ 2.0 рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдереАред

рдореИрдВ рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ .NET рдорд╛рдирдХ 2.0 рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЧрдд рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд┐рд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рдерд╛ред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рд┐рдЧреНрдирд▓рдЖрд░ 2 рднреА ASP.NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдХ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ)ред рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрднреА рднреА рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ рдФрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 2.0 рдХреЗ рд╕рд╛рде рднреА рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рдмрд╛рдж рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЙрд╕ рдХрдерди рдХрд╛ рдЗрд░рд╛рджрд╛ рдХреИрд╕реЗ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдкреБрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ ASP.NET Core 2.0 рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ? рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрддрдГ рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдЙрд╕ рд╕рдордп рдЪреАрдЬреЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреА?

рдореИрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ netstandard2 рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рд╡реЗрдм рдРрдк рдХреЛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╣реИ рдирд╛?

рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдо рдХрд┐рдП рдЧрдП рдереЗ рддрд╛рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╛рдЗрдирд░реА рд╕рдВрдЧрдд рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╣реЛрдВред <...>

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдФрд░ рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рдХреБрдЫ рдЧрд╛рдпрдм рдерд╛ рддреЛ рдЖрдк рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореБрдЯреНрдареА рднрд░ рд╢реБрджреНрдз рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.3 рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рд╣рдорд╛рд░реЗ рд╕реНрд░реЛрдд) рд╣реИрдВ: Xamarin.iOS, Xamarin.Android, net46, Asp.net core 1.1 - рдХреНрдпреЛрдВрдХрд┐ рд╣рдо net46 рд╕рд╛рдордЧреНрд░реА рд╕рд╣рд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ asp.net рдХреЛрд░ рд╡реЗрдм рдРрдк рдореЗрдВред

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

рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди - рдХреНрдпрд╛ 1.x рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рднрдВрдЧ рдХреА рдЧрдИ рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛, рдпрд╛ рд╣рдореЗрдВ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛? (рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рдПрдХ рдЕрдкрдЧреНрд░реЗрдб рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рддрдм рддрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреИрд╕реЗ DirectoryServices рдирд╣реАрдВ рд╣реИрдВ ... рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╣реАрдВ рднреА рдореБрдлреНрдд рдпрд╛ рд╕рд╕реНрддреЗ рдХреЗ рдХрд░реАрдм рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдорд╣реАрдиреЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ)ред рд╣рдо рдмрдбрд╝реЗ рд╣реИрдВ, рд╣рдо рддреЗрдЬрд╝ рд╣реИрдВ, рд╣рдо рдврд╛рдВрдЪреЗ рдореЗрдВ рд╡рд┐рд░рд╛рдо рдкрд╛рдПрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╛рд▓реЛрдВ рд╕реЗ рд╣рд░ рдмрдбрд╝реА рдФрд░ рдЫреЛрдЯреА рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╣реИред рд╕рдорд░реНрдерди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА рдФрд░ рдЕрдЧрд░ рдЗрд╕рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рджрд╛рдВрд╡ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдорд╣рд╕реВрд╕ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╢рд╛рдпрдж рдпрд╣ 1.x рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдиреЗ рд▓рд╛рдпрдХ рд╣реИред

рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдРрд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдХрд╛рдо рдХрд░реЗ рдФрд░ рдЖрдЧреЗ рдХрд╛ рдорд╛рд░реНрдЧ рдкреНрд░рд╢рд╕реНрдд рдХрд░реЗред 1.x рдХреЗ рд╕рд╛рде, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдЖрдзрд╛ рд╣реИред рдЗрд╕ рдореБрджреНрджреЗ рддрдХ, рджреВрд╕рд░реЗ рдХреА рддрд░рд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред

рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ 1.x рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАрдВ?

@NickCraver рдЖрдкрдХреА рд╕рднреА рд╢рд┐рдХрд╛рдпрддреЗрдВ ASP.NET Core рдХреЗ рдмрдЬрд╛рдп .NET Core рдореЗрдВ рдЧрд╛рдпрдм рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реА рд╣реИрдВред .NET Core 1.x рдФрд░ ASP.NET Core 1.x рдореЗрдВ рд╡реЗ 2 рдЗрдХрд╛рдЗрдпрд╛рдБ рдПрдХ рд╕рд╛рде рд╢рд┐рдк рдХрд░рддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднреА рдХрд╛рд░рдг рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ v1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдиреНрдп рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ v2 рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рд░рдг рдерд╛ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдереЗ (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET рдХреЛрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдиреЗ рдХреБрдЫ рдирдИ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд▓реА рд╣реЛрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред

рдлрд┐рд░ рдХреЛрдИ рдЕрдкрд░рд╛рдз рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реА рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдФрд░ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛? рдпрд╣ рдХрдерди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдорд╛рд░рд╛ рд╕рдордп рдХрд╣реАрдВ рдФрд░ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрддреАрдд рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ?

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

.NET рдХреЛрд░ рдФрд░ ASP.NET рдХреЛрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдкреНрд░рдореБрдЦ рдЪреАрдЬреЗрдВ рдкрд╕рдВрдж рд╣реИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдирд╛рдордХрд░рдг рдкрд╛рдЧрд▓рдкрди рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ ASP.NET Core .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ (рдпрд╣ рд╕реНрдЯреИрдХ рдореЗрдВ рдирдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рднреА рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИ)ред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдЬрд┐рдирдХреА рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд╝рд░реВрд░рддреЗрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдЙрдирдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирддреЗ рд╣реИрдВред

@mythz

рдореИрдВ рдЙрддреНрд╕реБрдХрддрд╛ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ .NET рдорд╛рдирдХ 2.0 рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЧрдд рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдФрд░ рдмрд╣реБрдд рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд┐рд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдд рдерд╛ред

рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд╣рд╛, 1.x рдореЗрдВ ASP.NET Core, .NET Core рдФрд░ .NET Standard рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдП рд╣реИрдВред рдЖрдк .NET рдХреЛрд░ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд┐рд╕реА рднреА .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ .NET Core 2.0 рдПрдХ рдирдпрд╛ LTS рд╣реИ, рддрдм рднреА рд╣рдо рдпрд╣ рдШреЛрд╖рдгрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ASP.NET Core 1.x рдЗрд╕ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред

@jahmai

рдореИрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ netstandard2 рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЕрдкрдиреЗ рд╡реЗрдм рдРрдк рдХреЛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╣реИ рдирд╛?

рдирд╣реАрдВ, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рд╡реЗрдм рдРрдк рдХреЛ ASP.NET Core 2.0 рдкрд░ рд▓реЗ рдЬрд╛рдП рдмрд┐рдирд╛ рдЬрдм рдЪрд╛рд╣реЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2 рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЖрдкрдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.3 рдкрд░ рдЕрдЯрдХрдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред 2 рдЪреАрдЬреЗрдВ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред

рдЬрдм рд╕рдВрд╕реНрдХрд░рдг 1 рдЖрдкрдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 2 рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рджрд┐рди _рдЙрдореНрдореАрдж рд╣реИ_, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреБрд░рд╛ рдЬреБрдЖ рд╣реИ ....

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрдбрд╝ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ рдХрд┐ _some_ рдЕрдВрддрд░рд╛рд▓ ( DirectoryService , et. al.) рдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ рдЙрд╕рд╕реЗ рдХреБрдЫ рдФрд░ рдареЛрд╕ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ ASP.NET рдХреЛрд░ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд╛рде 2.0 рдирд╛рд╡ рдЧрд╛рдпрдм рд╣реИ рдпрджрд┐ рд░реЛрдбрдореИрдк рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рдо рдХрдм рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрди рдЕрдВрддрд░рд╛рд▓реЛрдВ (рдФрд░ рдХреМрди рд╕реЗ рдЕрдВрддрд░рд╛рд▓) рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реИ 1.X рдЕрд╕рдорд░реНрдерд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред

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

@davidfowl

рдирд╣реАрдВ, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдЖрдк рдЕрдкрдиреЗ рд╡реЗрдм рдРрдк рдХреЛ ASP.NET Core 2.0 рдкрд░ рд▓реЗ рдЬрд╛рдП рдмрд┐рдирд╛ рдЬрдм рдЪрд╛рд╣реЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2 рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрддреНрдХреГрд╖реНрдЯред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдм рддрдХ Microsoft рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ 1.x рд╕рдорд░реНрдерд┐рдд рд╣реИ (рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдорд░реНрдерди) рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рдЙрдЪрд┐рдд 2.x рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде (рдЬреИрд╕реЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░) рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддрдм рддрдХ рдореИрдВ рдЕрдкрдирд╛ рд╕рдордп рддрдм рддрдХ рд╡реНрдпрддреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рд╣реВрдВ рдЬрдм рддрдХ рд╣рдо рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2 рдХреА рдЬрд░реВрд░рдд рд╣реИред

рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ 1.x рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАрдВ?

рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдордп рд╕реАрдорд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЕрднреА рддрдХ рдмрддрд╛рдИ рдЧрдИ рд╣реИ рд╡рд╣ рд╣реИ "2.0 рдореЗрдВ рдирд╣реАрдВ"...рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2015 рдХреЗ рдордзреНрдп рд╕реЗ System.DirectoryServices рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрднреА рднреА рдЧрд╛рдпрдм рд╣реИ рдлрд┐рд░ рднреА рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рдж System.Drawing )ред рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ рд╣рдо .NET рдорд╛рдирдХ 2.0 рдХреЛ ~60% API рд╕рдорддрд╛ рдореЗрдВ рд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдорд╛рдВрдЧреЗ рдЧрдП рдмрд┐рдЯреНрд╕ рдХреЛ рдЧрд╛рдпрдм рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд┐рд╢реНрд░рд┐рдд рд╕рдВрдХреЗрдд рднреЗрдЬрддрд╛ рд╣реИред

рдЖрдкрдХреА рд╕рднреА рд╢рд┐рдХрд╛рдпрддреЗрдВ ASP.NET Core рдХреЗ рдмрдЬрд╛рдп .NET Core рдореЗрдВ рдЕрдиреБрдкрд▓рдмреНрдз рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реА рд╣реИрдВред

рдпрд╣ рдЧрд▓рдд рд╣реИред рдореБрдЭреЗ рдПрдХ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдбреА рдСрде)ред рд▓рд╛рдкрддрд╛ рдЪреАрдЬ рдмрд╛рдж рд╡рд╛рд▓реЗ рд╕реЗ рд╕рдорд░реНрдерди рд╣реИред 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рдкрде рдпрд╛ рдХреЛрдИ рд╕рдордпрд░реЗрдЦрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдареАрдХ рд╡реИрд╕реА рд╣реА рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ

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

рдпрджрд┐ 2.x рдореЗрдВ DirectoryServices, Drawing, рдЖрджрд┐ рдЖ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдЙрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдПрдХ LTS рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ 3.x рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

.NET рдХреЛрд░ рдФрд░ ASP.NET рдХреЛрд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдкреНрд░рдореБрдЦ рдЪреАрдЬреЗрдВ рдкрд╕рдВрдж рд╣реИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдирд╛рдордХрд░рдг рдкрд╛рдЧрд▓рдкрди рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ ASP.NET Core .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ (рдпрд╣ рд╕реНрдЯреИрдХ рдореЗрдВ рдирдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЛ рднреА рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИ)ред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдЬрд┐рдирдХреА рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрд╝рд░реВрд░рддреЗрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдЙрдирдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирддреЗ рд╣реИрдВред

рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣рд╛рдВ рд╕рднреА рдкрд╛рдЧрд▓рдкрди "рдХреНрдпрд╛ рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?" рдХреЗ рд▓рд┐рдП рдорд╛рдзреНрдпрдорд┐рдХ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдПрдХ рдлрд░реНрдо рдирдВред ASP.NET рдФрд░ .NET Core/Standard/рдЬреЛ рднреА Microsoft рдХреЗ рдЕрдВрджрд░ рдЪреАрдЬреЛрдВ рдХреЗ 2 рд╕реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдореБрдЭреЗ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА 1 рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИред ASP.NET рд╕рд╛рдЗрдб рдХреЛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдЕрднреА рддрдХ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдХрджрдо рдЙрдкрд▓рдмреНрдз рдПрдкреАрдЖрдИ рдореЗрдВ рдФрд░ рдХрдЯреМрддреА рдХрд░рддрд╛ рд╣реИред ASP.NET рдЯреАрдо рдХреЛ рд╡реЗ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдХреАрдордд рдкрд░ рд╣реИ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@ctolkien @NickCraver

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрдбрд╝ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдЕрдВрддрд░рд╛рд▓ (DirectoryService, et. al.) рдЬреНрдЮрд╛рдд рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрдВ рдЙрд╕рд╕реЗ рдХреБрдЫ рдФрд░ рдареЛрд╕ рдЪрд╛рд╣рд┐рдПред

рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рд╕рдордп рд╕реАрдорд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЕрднреА рддрдХ рдмрддрд╛рдИ рдЧрдИ рд╣реИ рд╡рд╣ рд╣реИ "2.0 рдореЗрдВ рдирд╣реАрдВ"...рддреЛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2015 рдХреЗ рдордзреНрдп рд╕реЗ System.DirectoryServices рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрднреА рднреА рдЧрд╛рдпрдм рд╣реИ, рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд░реНрд╡рд╛рдзрд┐рдХ рд╡рд╛рдВрдЫрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рдж System.Drawing)ред

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

рдХреНрдпрд╛ CSOM рдиреЗрдЯрдХреЛрд░ 2 рдореЗрдВ рдЪрд▓реЗрдЧрд╛? рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИред

@davidfowl рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдРрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рджрд╛рдВрд╡ рдкрд░ рдирд╣реАрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдирд╣реАрдВ, рдореИрдВ рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдЕрд╕рд╣рдордд рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ 3.x рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рдиреНрдп рд╣реИрдВред рдЙрдирдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рдЧреЛрдж рд▓реЗрдиреЗ рдХреЛ рд░реЛрдХ рджреЗрддрд╛ рд╣реИред

рдореИрдВ 1.0 рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреА рд░рд╛рд╣ рдкрд░ рдерд╛, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ 2.x (рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд/рдирд┐рд╢реНрдЪрд┐рдд рд╣реИ) рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдПрдкреАрдЖрдИ рддреИрдпрд╛рд░ рди рд╣реЛрдВ (рдореИрдВ рдЧрдВрднреАрд░ рд╣реВрдВ - рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдХрд┐рддрдирд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ ) рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп, рдореИрдВ рд╕реНрдЯреИрдХ рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛...рдпрд╣ рдПрдХ рдмреБрд░реА рдзрд╛рд░рдгрд╛ рдереАред рдореИрдВ рдЕрдЪреНрдЫреЗ рд╡рд┐рд╡реЗрдХ рд╕реЗ рдЕрдкрдиреА рдЯреАрдореЛрдВ рдХреЛ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рдЬрдмрдХрд┐ рдХрд┐рд╕реА рднреА рдкреЛрд░реНрдЯ рдХрд╛ рднрд╡рд┐рд╖реНрдп рдЗрддрдирд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХрд░ рд╕рдХреВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдЬреЛрдЦрд┐рдо рдФрд░ рджрд░реНрдж рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

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

рдпрд╣рд╛рдБ "рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ" рдХрд╛ рдорд╛рдк рдХреНрдпрд╛ рд╣реИ? рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рддрдм рддрдХ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рд╣рдо рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ? рдЖрдкрдХреА рд╕реВрдЪреА рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ рдпрд╛ рдЬрдм рддрдХ .NET рдХреЛрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорддрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ (рдЬреЛ рдХрд┐ рд╕рд┐рд░реНрдл рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ)ред рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдорд╛рдиреВрдВрдЧрд╛ рдХрд┐ ASP.NET Core 1.x рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рд╕рдордп рддрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдпрд╣ рдЧрд▓рдд рд╣реИред рдореБрдЭреЗ рд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдмрд┐рдЯреНрд╕ (рдЬреИрд╕реЗ AD auth) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓рд╛рдкрддрд╛ рдЪреАрдЬ рдмрд╛рдж рд╡рд╛рд▓реЗ рд╕реЗ рд╕рдорд░реНрдерди рд╣реИред 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рдорд░реНрдерд┐рдд рдкрде рдпрд╛ рдХреЛрдИ рд╕рдордпрд░реЗрдЦрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ ASP.NET рдШрдЯрдХ рдЧреБрдо рд╣реИ? рдЬрдм рдЖрдк 1.x рдмрдирд╛рдо 2.x рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк ASP.NET Core рдмрдирд╛рдо .NET Core рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ 2.x рдореЗрдВ DirectoryServices, Drawing, рдЖрджрд┐ рдЖ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ред рдЙрд╕ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдПрдХ LTS рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ 3.x рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛, рдЖрдкрдХреЛ ASP.NET рдХреЛрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core 1.x рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ?

ASP.NET рдФрд░ .NET Core/Standard/рдЬреЛ рднреА Microsoft рдХреЗ рдЕрдВрджрд░ рдЪреАрдЬреЛрдВ рдХреЗ 2 рд╕реЗрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдореБрдЭреЗ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА 1 рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ

рд╕рд╣рдордд рд╣реБрдП рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдкрд░ FUD рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдкреНрд░рднрд╛рд╡ рдХрд╛ рдареАрдХ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХреЗрдВред ASP.NET Core 1.x рд▓рдХреНрд╖реНрдп .NET рдорд╛рдирдХ 1.x (1.0 - 1.6) рдФрд░ .NET Framework 4.5.1ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core 1.x .NET Core 2.0 рдкрд░ рдЪрд▓реЗрдЧрд╛ред

@smbecker

рдХреНрдпрд╛ CSOM рдиреЗрдЯрдХреЛрд░ 2 рдореЗрдВ рдЪрд▓реЗрдЧрд╛? рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдФрд░ рдПрдХ рдРрд╕реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрд╡рд░реЛрдзрдХ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИред

рдореБрдЭреЗ рдХреБрдЫ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ https://msdn.microsoft.com/en-us/library/ff798388.aspx рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЗрд╕рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░реНрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╕рд┐рд░реНрдл .NET Core 2.0 рдореЗрдВ .NET Framework рд╕рдВрдЧрддрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрднреА рднреА .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдмрд╕ рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рдореЗрд░реЗ 5 рдорд┐рдирдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░), рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред

рдпрд╣рд╛рдБ "рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ" рдХрд╛ рдорд╛рдк рдХреНрдпрд╛ рд╣реИ? рдирд┐рд░реНрднрд░рддрд╛ рдХреА рд╕реВрдЪреА рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рддрдм рддрдХ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рд╣рдо рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рдирд╣реАрдВ рд╕рдХрддреЗ? рдЖрдкрдХреА рд╕реВрдЪреА рдЗрд╕ рд╕реВрдЪреА рдХреЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗ рдпрд╛ рдЬрдм рддрдХ .NET рдХреЛрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорддрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ (рдЬреЛ рдХрд┐ рд╕рд┐рд░реНрдл рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ)ред рдореИрдВ рдЕрднреА рднреА рдпрд╣ рдорд╛рдиреВрдВрдЧрд╛ рдХрд┐ ASP.NET Core 1.x рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдЙрд╕ рд╕рдордп рддрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ ASP.NET рдШрдЯрдХ рдЧреБрдо рд╣реИ? рдЬрдм рдЖрдк 1.x рдмрдирд╛рдо 2.x рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк ASP.NET Core рдмрдирд╛рдо .NET Core рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдерд╛, рдЖрдкрдХреЛ ASP.NET рдХреЛрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core 1.x рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ?

рдореЗрд░рд╛ рдорддрд▓рдм рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ рдЬреЛ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЬрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ 2.x рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдореЙрдбреНрдпреВрд▓, рд░реЗрдЬрд╝рд░ рдкреЗрдЬ рдЖрджрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реА 2.x рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реИрдВред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдорд╛рд░рд╛ рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк 1.x рд╣реИред рд╣рдо ASP.NET 5 рд╕реЗ ASP.NET рдХреЛрд░ рддрдХ рдФрд░ рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдХрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рд╕реЗ netcoreapp рддрдХ 1 рдЪрд╛рд▓ рдореЗрдВ рдЫрд▓рд╛рдВрдЧ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рддреЛ рдЬреНрдпрд╛рджрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред рдФрд░ рдЕрдм рд╣рдо рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рд╕рдорд░реНрдерди рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рд╡рд╣ рдорд╣рдВрдЧрд╛, рдЬреЛрдЦрд┐рдо рднрд░рд╛ рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдмреБрд░реА рд╕реНрдерд┐рддрд┐ рд╣реИ - рдЗрддрдиреА рдмреБрд░реА рд╣реИ рдХрд┐ рд╣рд┐рд▓рдирд╛ рдирд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдЬ рдЪреАрдЬреЗрдВ рд╣реИрдВ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИред

рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ ASP.NET рдШрдЯрдХ рдЧреБрдо рд╣реИ? рдЬрдм рдЖрдк 1.x рдмрдирд╛рдо 2.x рдХрд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк ASP.NET Core рдмрдирд╛рдо .NET Core рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВред

  • рдЬрдм рддрдХ рдХреБрдЫ Microsoft.Authentication.* NuGet рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ AD рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рд╣реИред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрд╕реА рдирд╛рд╡ рдореЗрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ .NET 462 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ .NET Core 1.1 рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдХрд┐рд╕реА рднреА AD рд╕рдореВрд╣, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рд╕рдорд░реНрдерд┐рдд рдорд╛рдзреНрдпрдореЛрдВ рд╕реЗ рдХреИрд╕реЗ рдХреНрд╡реЗрд░реА рдХрд░ рдкрд╛рдКрдВрдЧрд╛? рдореИрдВрдиреЗ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рд░реЗрдкреЛ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ System.DirectoryServices рдкрд░ рдмрд╣реБрдд рдХрд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд╢ рд╣реВрдВред

  • System.Data.Common.DbDataAdapter / SqlClient.SqlDataAdapter ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рддреЗ рд╕рдордп рдЙрд╕ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА DbDataReader / SqlDataReader рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореВрд▓ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, ASP.NET Core 2.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп AD рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛрдЧреАред

рдореИрдВ рдЖрдЬ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореИрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдореЗрд░реА рдЪрд┐рдВрддрд╛рдПрдБ рдпрд╣рд╛рдБ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд┐рдВрддрд╛рдУрдВ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ (рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ рдЪрд┐рдВрддрд╛рдПрдБ рдЙрддрдиреА рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рдпрджрд┐ рдЕрдзрд┐рдХ рдирд╣реАрдВ рддреЛ)ред

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

рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреБрдЫ рдЕрд▓рдЧ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рджреА, рджрд┐рди рдХреЗ рдЕрдВрдд рдореЗрдВ ASP.NET Core рд╕рд┐рд░реНрдл рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдкрд╛рд╕ "рдЖрд╡рд╢реНрдпрдХ рдФрд░ рд╕рдореНрдореЛрд╣рдХ рдХрд╛рд░рдг" рд╣реИрдВ рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп netstandard рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА Microsoft рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдпрд╣ рдХрд╣рдХрд░ "рд╣рдо рдирд╡реАрдирддрдо рдФрд░ рдорд╣рд╛рдирддрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рд╣рдо netstandard рд╕рдорд░реНрдерди рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ" рдпрд╣ рдЕрдиреНрдп рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ) рдХрд┐ рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ netstandard рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдореЗрд╣рдирдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдмрд╕ рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм Microsoft рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрддрдирд╛ рднреА рдзреНрдпрд╛рди рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рддреЛ рдЙрд╕ рд╕рднреА рд╕рдВрдЧрддрддрд╛ рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдкрд░реЗрд╢рд╛рди рдХреНрдпреЛрдВ рд╣реИрдВ? .NET рдХреЛрд░ 4 рд▓рд╛рдЗрдлред рдФрд░ рд╢рд╛рдпрдж рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ - рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдХрдИ рд░рдирдЯрд╛рдЗрдо рдФрд░ рдЕрдзрд┐рдХрддрд░ рдПрдХреАрдХреГрдд рдПрдкреАрдЖрдИ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдЬрд╛ рд░рд╣реЗ рдереЗред

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

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдереЛрдбрд╝рд╛ рдХрдо) рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ рдХрд┐ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдирдП рдПрдкреАрдЖрдИ рдХреЛ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реЗ рдирдП API рдХрднреА рднреА рдЗрд╕реЗ netstandard рдпрд╛ .NET Framework рдореЗрдВ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреБрдЫ рд░реЛрдорд╛рдВрдЪрдХ рдЪреАрдЬреЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рд╡рд┐рд░рд╛рд╕рдд рдФрд░ рд╕рдВрдЧрддрддрд╛ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдпрд╛ рдвреАрд▓реЗ рд╣реЛрдиреЗ рдкрд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдпрд╣ рдЖрднрд╛рд╕ рд╣реБрдЖ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдЯреАрдо рдЕрдХреНрд╕рд░ рдЖрдЧреЗ рдЪрд╛рд░реНрдЬ рдХрд░рддреА рд░рд╣рддреА рд╣реИред рдпрд╣ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдПрдХ рдмреБрд░реА рдЪреАрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХрдИ рд╡реНрдпрд╛рдкрдХ рдирд┐рд░реНрдгрдп рднреА рд╣реБрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ рдЪрд▓рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣, рдФрд░ рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рдмрд╛рдж рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╛рд╕, рд╕рдордп рдХреЗ рд╕рд╛рде рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕реЗрдЯ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдлреНрд░реИрдХреНрдЪрд░ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ (рдФрд░ рдлрд┐рд░, рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ/рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╡рд╣рд╛рдВ рд╣реИ рдЬрд╝рд╛рдорд░реАрди, рдореЛрдиреЛ, рдпреВрдбрдмреНрд▓реНрдпреВрдкреА, рдЖрджрд┐)ред

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

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рдореЗрд░рд╛ рдорддрд▓рдм рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ рдЬреЛ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЬрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ 2.x рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдореЙрдбреНрдпреВрд▓, рд░реЗрдЬрд╝рд░ рдкреЗрдЬ рдЖрджрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реА 2.x рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реИрдВред

рдЕрднреА рдпрд╣ 1.1.1 рд╣реИ (2.0 рдореЗрдВ рдХреЛрдИ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИ), рд░реЗрдЬрд░ рдкреЗрдЬ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╣реИред рд╡реЗ 2 рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рд▓рдЧрддреА рд╣реИрдВред

рд╣рдо ASP.NET 5 рд╕реЗ ASP.NET Core рддрдХ рдФрд░ рдЕрдкрдиреЗ рд╕рднреА рдХрд╛рд░реНрдпрд╢реАрд▓ рдХрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ 1 рдЪрд╛рд▓ рдореЗрдВ netcoreapp рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗред рдпрд╣ рддреЛ рдЬреНрдпрд╛рджрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред рдФрд░ рдЕрдм рд╣рдо рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдПрдХ рд╕рдорд░реНрдерди рд╡рд┐рдВрдбреЛ рдХреЗ рдЕрдВрджрд░ рд╡рд╣ рдорд╣рдВрдЧрд╛, рдЬреЛрдЦрд┐рдо рднрд░рд╛ рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдмреБрд░реА рд╕реНрдерд┐рддрд┐ рд╣реИ - рдЗрддрдиреА рдмреБрд░реА рд╣реИ рдХрд┐ рд╣рд┐рд▓рдирд╛ рдирд╣реАрдВ рдмреЗрд╣рддрд░ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдЬ рдЪреАрдЬреЗрдВ рд╣реИрдВ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣реИ? ASP.NET Core 1.x рд╕реЗ 2.x рдпрд╛ 3.x рддрдХ рдХреА рдЪрд╛рд▓ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЖрдкрдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреБрдЪреНрдЫ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ 1.1 рдкрд░ рдЬрд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХрд╛рдо рдХреЛ рдирд╣реАрдВ рдмрдЪрд╛ рдкрд╛рдПрдВрдЧреЗред

@ рд╕реНрдирд┐рдХрд▓рд░

рдореВрд▓ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, ASP.NET Core 2.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп AD рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдорд░реНрдерд┐рдд рддрд░реАрдХреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реЛрдЧреАред

рдЬрдм рддрдХ System.DirectoryServices .NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддрдм рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк .NET Framework рдкрд░ ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЬрдм рддрдХ System.DirectoryServices .NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддрдм рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк .NET Framework рдкрд░ ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣реА рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдмрд╕ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рддреЛ рдореБрдЭреЗ .NET Framework рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рдореЗрд░реА рд╡рд┐рдВрдбреЛрдЬ рдорд╢реАрди рдкрд░ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЛрдиреЛ рдореЗрдВ System.DirectoryServices.AccountManagement рдирд╛рдорд╕реНрдерд╛рди рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЙрд╕реА рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рдмрд╛рдзреНрдпрддрд╛ рдХреЗ рдмрд╛рд╣рд░ System.DirectoryServices.AccountManagement рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛? рд╡рд╣ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрдорд╡реАрд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдореЗрд░реЗ Xamarin.iOS рдРрдк рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдорд╢реАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ 1.1 рдкрд░ рдЬрд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдХрджрдо рд╣реИ рдФрд░ рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдХрд╛рдо рдХреЛ рдирд╣реАрдВ рдмрдЪрд╛ рдкрд╛рдПрдВрдЧреЗред

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

рдореИрдВ DirectoryServices рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЬреЛ рдкрддрд╛ рд╣реИ рд╡рд╣ рдЖрдЬ netcoreapp2.0 рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рднреА рд╣реЛрдВрдЧреА рдЬреЛ рд╣рдо рдкрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╣реА рдирд╛рд╡ рдореЗрдВ рдЧрд┐рд░рддреА рд╣реИрдВред рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрдИ рд╡рд░реНрд╖реЛрдВ рддрдХ ASP.NET Core + рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ + рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 1.x рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рджрд░реНрд╢рди рдПрдХ рднрдпрд╛рдирдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ~ 18ms рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрд░рд┐рд╡рд╣рди рд╕рдордп рд╕реЗ рдмреМрдирд╛ рд╣реИред 2.0 рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд░реЗрдЬрд░ рдкреЗрдЬ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрдХрд░реНрд╖рдХ рдмрдирд╛рддреА рд╣реИред рдиреНрдпрд╛рдпреЛрдЪрд┐рдд рдард╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╣реАред

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

рдкреНрд░рджрд░реНрд╢рди рдПрдХ рднрдпрд╛рдирдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ~18ms . рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ

рдПрдХ рдорд╛рдореВрд▓реА рдУрдЯреА рд╢реЗрдЦрд╝реА рдкрд░, рдореИрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк ~18ms @NickCraver рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣ рддреЛ рдХрдорд╛рд▓ рд╣реИ

@daveaglick

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

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

  • Microsoft.Extensions.* (рд▓реЙрдЧрд┐рдВрдЧ, DI, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, FIleProviders рдЖрджрд┐)
  • рдЗрдХрд╛рдИ рдХреА рд░реВрдкрд░реЗрдЦрд╛
  • рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреНрд▓рд╛рдЗрдВрдЯ (рдЙрдиреНрд╣реЗрдВ .NET Framework, Xamarin, UWP рдЖрджрд┐ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

.NET рдорд╛рдирдХ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реАрдХрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рд╡реНрдпрд╛рдкрдХ рдордВрдЪ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП JSON.NET рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп netstandard1.x рдФрд░ .NET Framework 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЪреАрдЬреЛрдВ рдХреЛ "рдмрд╕ рдХрд╛рдо" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдореАрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд @JamesNK рд╣реИред

ASP.NET рдХреЛрд░ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рджреВрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдПрдХ рдмрдпрд╛рди рд╣реИ рдХрд┐ рдпреЗ рдПрдкреАрдЖрдИ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░)ред рдпрд╣ рдЗрд╕ рдмрд╛рдд рдХреЛ рдкреБрдЦреНрддрд╛ рдХрд░рдиреЗ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдХрд┐ .NET Core рдФрд░ ASP.NET Core рдПрдХ рд╣реА рдЙрддреНрдкрд╛рдж рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд╛рде рд╡рд░реНрдЬрди рдХрд░рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдирд╛рдо рдореЗрдВ Core рд╣реИ)ред ASP.NET Core 1.x рдХреЗ рд╕рд╛рде .NET Core рдФрд░ .NET Framework рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реБрдП, рд╡рд╣ рд╕рдВрджреЗрд╢ рдереЛрдбрд╝рд╛ рдзреБрдВрдзрд▓рд╛ рдерд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕) рдХреЗ рд▓рд┐рдП рднреНрд░рдо рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЧреИрдк рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд┐рдпрд╛ред

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

рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдЕрднреА рднреА рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╣реИрдВред рдХреМрди рд╕реЗ рдирд╣реАрдВ рд╣реИрдВ?

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

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

@ рд╕реНрдирд┐рдХрд▓рд░

рдпрд╣реА рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдмрд╕ рдЗрд╕ рдЙрдореНрдореАрдж рдореЗрдВ рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рддреЛ рдореБрдЭреЗ .NET Framework рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрд╣ рдореБрдЭреЗ рдореЗрд░реА рд╡рд┐рдВрдбреЛрдЬрд╝ рдорд╢реАрди рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЛрдиреЛ рдореЗрдВ System.DirectoryServices.AccountManagement рдиреЗрдорд╕реНрдкреЗрд╕ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЙрд╕реА рд╕рдВрдмрдВрдз рдореЗрдВ, рдХреНрдпрд╛ Windows рдХреА рдмрд╛рдзреНрдпрддрд╛ рдХреЗ рдмрд╛рд╣рд░ System.DirectoryServices.AccountManagement рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛? рд╡рд╣ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдПрдорд╡реАрд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдореЗрд░реЗ Xamarin.iOS рдРрдк рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдорд╢реАрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк dotnet/corefx рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдмреЗрддрд╣рд╛рд╢рд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рди рд╣реЛ) рдЧрд▓рдд рдХрд╛рдо рд╣реИред

@davidfowl рдкреНрд░рд╢реНрди: рдореИрдВ рдлрд╛рдЗрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ -> ASP.NET рдХреЛрд░ 2.0 рдХреЗ рд╕рд╛рде рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ AD рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛ред рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛? рдореИрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛ Microsoft рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╢рд┐рдкрд┐рдВрдЧ рдХреА рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рд╡рд╣рд╛рдВ рдХреА рд╣рд░ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдирд┐рд░реНрдгрдп рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╣реА рдЧрдИ рдХрд┐рд╕реА рднреА рдмрд╛рдд рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╡рд╣реА рд╕рдм рдХреБрдЫ рдЪрд╛рд╣рд┐рдП

.NET v4.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╡рд╛рд╕ рдкрде рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЦрдВрдбрд┐рдд рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдХрдИ рджреЗрд╡реЛрдВ рдФрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рдЗрд╕реЗ рдЕрдкрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛ рдЬреЛ ASP рдореЗрдВ рдЬреНрдЮрд╛рди рдФрд░ рдирд┐рд╡реЗрд╢ рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкреВрд▓ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред NET рдХреЛрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ .NET рджреЗрд╡реЛрдВ рдХреЛ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ ASP.NET v4.x рдХреЛрдб-рдмреЗрд╕ рдХреЛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рд╕рдорд░реНрдерди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдорд┐рд▓рддрд╛ рд╣реИ)ред

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

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдлрд▓реЗ-рдлреВрд▓реЗ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдордПрд╕ рдЯреАрдо рдХреЗ рд╕рд╛рде рдЗрд╕ рдмрд╛рдд рдХреЛ рд▓реЗрдХрд░ рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рджреГрдврд╝ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ .NET v4.x рдХреЛ рдПрдХ рдЬреНрдЮрд╛рдд рдорд╛рддреНрд░рд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрдЧрдд, рд╕реНрдерд┐рд░ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рдЙрдкрд▓рдмреНрдз рд╣реИ рдпрд╣ рдПрдХ рдЧрд▓рддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛ред

@davidfowl рдзрдиреНрдпрд╡рд╛рдж - рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓рддреА рд╣реИред рдореИрдВрдиреЗ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ) рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢/рд╕рднреА рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп netstandard рд╕реЗ рд╣рдЯ рд░рд╣реЗ рдереЗред рдореИрдВ рдХрд╛рдлреА рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рдЬрд╛рдирддрд╛ рд╣реВрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрдирдирд╛ рдХрд┐ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╕рдорд╛рдЪрд╛рд░ рд╣реИред

@NickCraver рдЖрдЬ рдЖрдк AD рдХреЗ рд╡рд┐рд░реБрджреНрдз рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? OpenIdConnect, WsFed, NTLM, рдЕрдиреНрдп?

@Tratcher AD auth, DirectoryServices рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рд╣рдореЗрдВ рд╕рдореВрд╣ рд╕рджрд╕реНрдпрддрд╛, рдЖрджрд┐ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдорд╛рдирдХ рдмрд┐рдЯреНрд╕)

@mythz рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core 1.x рдХреЗ рд╕рдорд░реНрдерди рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдирд┐рд░реНрдгрдп рдХреНрдпреЛрдВ рд▓реЗрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рднреА рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдмрд╕реЗ рдЦреБрд╢реА рд╣реЛрдЧреА:

  • ASP.NET Core 2.x LTS рд╣реИ рдФрд░ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЪреВрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдереЗ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдЧрдП рд╣реИрдВ) рд╕рд╛рде рд╣реА рдмрд╛рдж рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдиреЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдпрд╣ рдЫрд▓рд╛рдВрдЧ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪрд╛ рд╣реЛ ASP.NET рд╕реЗ ASP.NET рдХреЛрд░ рддрдХ
  • 3.x рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╢реАрд░реНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдХреЗрд╡рд▓ ASP.NET Core 1.1 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░рд┐рдкрдХреНрд╡ рдирд╣реАрдВ рд╣реИ/рдХрдИ ASP.NET рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖реНрдп рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрд╡рд░реЛрдзрдХ рд╣реИ)ред

рдмрд╕ рд▓реБрд▓реНрдЬрд╝ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ EntityFramework 6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА - рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ ASP.NET Core 1.0 рдРрдкреНрд╕ рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рди рдкрд░ рдореИрдВрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ - рдирд╡реАрдирддрдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 .NET рдХреЛрд░ рдирд╛рдЗрдЯрд▓реА рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рдеред рдЕрдВрджрд╛рдЬрд╝рд╛ рд▓рдЧрд╛рдУ...

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <NetStandardImplicitPackageVersion>2.0.0-*</NetStandardImplicitPackageVersion>
    <RuntimeFrameworkVersion>2.0.0-preview2-002093-00</RuntimeFrameworkVersion>
    <PackageTargetFallback>net45;net461</PackageTargetFallback>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="EntityFramework" Version="6.1.3" />
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="4.4.0-*" />
  </ItemGroup>

</Project>

image

рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ, .NET рдХреЛрд░ рдкрд░ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛: рддреБрдЪреНрдЫ рдорд╛рдорд▓реЗ (рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдРрдкреНрд╕ рдкрдврд╝реЗрдВ) рд╢рд╛рдпрдж рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдпрд╛ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдПрдкреАрдЖрдИ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред .

рд╕рдмрд╕реЗ рднрдпрд╛рдирдХ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, .NET Core рдХрд╛ SqlClient рдкрд░рд┐рд╡реЗрд╢реА рд▓реЗрдирджреЗрди рд╕реВрдЪреА рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рди рд╣реА TransactionScope рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рд▓реЗрдирджреЗрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ EF 6 рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдорд┐рд▓ рдЬрд╛рдП, рдЖрдкрдХреЗ TransactionScope s рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдЖрдкрдХреЗ DB рдХреЙрд▓реНрд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЖрдЗрд╕реЛрд▓реЗрд╢рди рд╕реНрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдЗрд╕ рдХрджрдо рд╕реЗ рдореЗрд░реА рдЪрд┐рдВрддрд╛ рд╣реИ, рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреЗ рджреЛ рд╕реЗрдВрдЯ рдЬреЛрдбрд╝рдирд╛ рдЬрд░реВрд░реА рд╕рдордЭрддрд╛ рд╣реВрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреБрдЫ рдирдП рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬрд╝ рдлреЙрд░реНрдо рд╣реИред рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ 15 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╣реИ рдФрд░ WinForms рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдореЗрдВ рд╡рд░реНрд╖реЛрдВ рд▓рдЧреЗрдВрдЧреЗред рдХрд╛рд╢ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реИред рд╣рдо рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдЕрдзрд┐рдХ рдореЙрдбреНрдпреБрд▓реИрд░рд┐рдЯреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рдирдП рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдореМрдЬреВрджрд╛ WinForms рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░ рдФрд░ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдкрд░рддреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХреЗрдВред рдореИрдВ рдмрд╣реБрдд рдЬрд▓реНрдж рдЕрдкрдиреЗ рдирдП рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдХрд╣рд╛ рд╣реИ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ .NET v4.6.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо System.Drawing рдФрд░ System.Security.Cryptography рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЛрдВ рд╕реЗ рднреА TransactionScope рдХрд╛ рднрд░рдкреВрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ ASP.NET Core рдХреЗ рдХреБрдЫ рд▓рд╛рднреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рдЗрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрд┐рдирд╛ MEF рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕реЗ рдПрдХ рд╕рд╛рде рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдХрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░рдг рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХ рдЪреАрдЬ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдмрдирд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдореИрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ ASP.NET рдХреЛрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП 1.x рдкрд░ рдЕрдЯрдХ рдЬрд╛рдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ WinForms рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдмреИрдХрдПрдВрдб рдХреЛрдб рдкрд░ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдмрдирд╛рдП рд░рдЦрдиреА рд╣реЛрдЧреАред рдореЗрд░рд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡реЗрдм рдЙрддреНрдкрд╛рдж рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рд╣рдо рдбрдмреНрд▓реНрдпреВрдПрдордЖрдИ, рдЖрджрд┐ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдореЗрдВ рдХрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд╕рд╡рд╛рд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдбрдмреЗрд╕ рдХреЗ рднреАрддрд░ рд╣реИрдВред рд╣рдо рдЕрднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЪрд░рдг рдореЗрдВ рд╣реИрдВ рдФрд░ рдЖрдЦрд┐рд░реА рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рдХрд░рдирд╛ рд╣реИ, рд╡рд╣ рд╣реИ ASP.NET MVC 5 рдкрд░ рд╣рдорд╛рд░реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рднреА рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдФрд░ рдирдП рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЕрд░реНрдЬрд┐рдд рдХрд░рдирд╛ рдЬрд┐рд╕реЗ рдХреБрдЫ рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рднрд╡рд┐рд╖реНрдп рдХрд╛ рдкреНрд░рдпрд╛рд╕ред

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

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

рдореМрд╣рд╛рд╣рд╛ред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рд╣рдВрд╕реВрдВ рдпрд╛ рд░реЛрдКрдВ...

рдореЗрд░реЗ рддреБрдЪреНрдЫ 23-рд▓рд╛рдЗрди EF 6 рдРрдк рдХреЗ рд▓рд┐рдП ApiPort рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ:

image

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

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпрд╛ рдХреЛрдИ рдлреАрдбрдмреИрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереА?

рд╣рдо рд╕рднреА 1.1 рдХреЗ рд▓рд┐рдП рд╕рдордп рд╕реАрдорд╛ рдФрд░ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп рдХрд┐ ASP.NET Core рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рд╛ рдврд╛рдВрдЪрд╛ рдЫреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИред

рдореЗрд░реА рд╕рдордЭ рдпрд╣ рдереА рдХрд┐ рдореВрд▓ рдврд╛рдВрдЪрд╛ рдПрдХ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреНрд▓реЗ рдерд╛, рдПрдХ рдирдпрд╛ рдврд╛рдВрдЪрд╛ рдЬреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдмрд╕реЗрдЯ рд╕реЗ рдмрдирд╛ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд╣реИред 2.0 рд░рд┐рд▓реАрдЬрд╝ рд╡рд╣ рдереА рдЬрд┐рд╕рдХреА рд╣рдо рд╕рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдЬрд╣рд╛рдБ рд╣рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ API рд╡рд╛рдкрд╕ рдорд┐рд▓реЗред

ASP.NET Core рдЗрд╕ рдирдП рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдХреБрддреНрддреЗ рдХрд╛ рднреЛрдЬрди рдерд╛, рдПрдХ рдирдпрд╛ рд╡реЗрдм рдврд╛рдВрдЪрд╛ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдкреАрдЖрдИ рдХреЗ рдЗрддрдиреЗ рдЫреЛрдЯреЗ рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдерд╛ рдХрд┐ рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓ рд╕рдХрддрд╛ рдерд╛ред

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

рдЕрдм ASP.NET рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдЧрдлреВрдб рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд╣ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: /

@рд░реЛрд╣рддреНрд╕реБ

рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдХреЗрд╡рд▓ ASP.NET Core 1.1 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░рд┐рдкрдХреНрд╡ рдирд╣реАрдВ рд╣реИ/рдХрдИ ASP.NET рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖реНрдп рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЕрд╡рд░реЛрдзрдХ рд╣реИ)ред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 1.x рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдЖрдкрдХреЛ рдЬрд┐рд╕ рдордВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдХреНрдпрд╛ рдЕрдкрд░рд┐рдкрдХреНрд╡ рд╣реИ?

@ рдорд┐рд▓рдореИрди 82 рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЕрдЯрдХреЗ рд░рд╣реЗрдВрдЧреЗред рддреЛ рдпрд╣рд╛рдВ рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рдЬрд╣рд╛рдВ рд╣рдо 2.x рдХреЛ рд╕рдВрдЧрдд рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ 3.x рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХрд╛рдо рднреА рди рдЖрдПред рд╕рд┐рд░реНрдл ASP.NET Core 1.x рдкрд░ рд╣реА рдХреНрдпреЛрдВ рди рд░рд╣реЗрдВ? рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдХрдореА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреЛрд░реНрдЯ рдореЗрдВ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл @NickCraver рдЬреИрд╕реА рд╣реА рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ (рдХрд┐ 2.x рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдЗрд╕ рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдШрдмрд░рд╛рддрд╛ рд╣реИ)ред

@jkells

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

рдпрд╣ рджреВрд░ рдХреА рдХреМрдбрд╝реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдордп рдШрдЯрдХ рдХреА рдХрдореА рд╣реИред рдЕрдВрддрддрдГ рдЗрд╕реЗ рд╕рднреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдмрдирд╛ рджреЗрдВрдЧреЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЬрд╣рд╛рдЬ рдЕрдкрдиреЗ рд╕рдордп рдкрд░ред

рдЕрдм ASP.NET рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдЧрдлреВрдб рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрд╣ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: /

рдЗрд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЕрднреА рднреА рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рд┐рд░реНрдл ASP.NET Core 1.x рдкрд░ рд╣реА рдХреНрдпреЛрдВ рди рд░рд╣реЗрдВ?

рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдпрд╣ 2.0 рдЧрд┐рд░рдиреЗ рдХреЗ 1 рд╡рд░реНрд╖ рдмрд╛рдж рд╕реЗ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ (рдорд╛рди рд▓реЗрдВ рдХрд┐ 2.0 рдЕрдЧрд▓рд╛ рдПрд▓рдЯреАрдПрд╕ рд╣реИ)ред

@davidfowl рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ OData рдФрд░ SignalR рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рд╕рдХреЗрдВ, ASP.NET рдХреЛрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд╡рд╣ рд╣реИ рдХрд┐ рдЬрдм ASP.NET Core 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЕрдзрд░ рдореЗрдВ рдлрдВрд╕рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ ASP.NET рдереЛрдХ рдХреА рдЬрдЧрд╣ рд▓реЗрдЧрд╛ред рдпрд╣ рд╕рдбрд╝рдХ рдХреЗ рдиреАрдЪреЗ рдХрд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЖ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдЕрдм ASP.NET MVC 5 рдореЗрдВ рдЕрдкрдиреЗ UI рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ (рдЕрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рд╣реИ) рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж ASP.NET рдХреЛрд░ рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдПрдХ рдмрд╛рд░ ASP.NET рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХрд╛ рдЕрдВрдд рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рдЕрднреА рдХреЛрд░ 1.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ ASP.NET Core 1.x рдХрд╛ EOL рдЖрдиреЗ рдкрд░ рдпрджрд┐ рдЗрд╕реЗ рдЕрдВрддрд░рд┐рдо рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рд╣рдо рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЬрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рд╢рд╛рдпрдж рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдЕрдкрдиреА рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВред

@ctolkien

рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ - рдпрд╣ 2.0 рдЧрд┐рд░рдиреЗ рдХреЗ 1 рд╡рд░реНрд╖ рдмрд╛рдж рд╕реЗ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ (рдорд╛рди рд▓реЗрдВ рдХрд┐ 2.0 рдЕрдЧрд▓рд╛ рдПрд▓рдЯреАрдПрд╕ рд╣реИ)ред

рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдорд╛рди рд▓реЗрдВ рдХрд┐ 2.0 рдЧрд┐рд░рдиреЗ рдкрд░ рдпрд╣ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдлреА рдирд╣реАрдВ рд╣реИ?

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

рдЙрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ 1.x рдХреЛ 2.x рд╕реЗ рдмрджрд▓реЗрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдЖрдкрдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЛрд░реНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреА?

рдЙрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ 1.x рдХреЛ 2.x рд╕реЗ рдмрджрд▓реЗрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдЖрдкрдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдкреЛрд░реНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреА?

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

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдкрдирд┐рдпрд╛рдВ рдХреБрдЫ рдРрд╕рд╛ рдЕрдкрдирд╛рдПрдВ рдЬреЛ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдП рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХрд╛ рдХреЛрдИ рд╕рд╛рдзрди рди рд╣реЛ рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛? рдореЗрд░реА рдХрд╛рд▓реНрдкрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред

рдпрд╣ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛? рдореЗрд░реА рдХрд╛рд▓реНрдкрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред

рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рддрдирд╛ рд▓рдВрдмрд╛ рд╣реИ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдЯреАрдо рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдФрд░ рдУрдбрд╛рдЯрд╛ рдЬреИрд╕реА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ ASP.NET Core 1.x рдореЗрдВ рд▓рд╛рдиреЗ рдФрд░ рдЙрди рд╕рднреА рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рддрдХ рд╕рдорд░реНрдерди рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк .NET рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдХреЛ рдЕрднреА рдХреНрдпреЛрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓...

рдореЗрд░рд╛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рддрдирд╛ рд▓рдВрдмрд╛ рд╣реИ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ рдЯреАрдо рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдФрд░ рдУрдбрд╛рдЯрд╛ рдЬреИрд╕реА рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ ASP.NET Core 1.x рдореЗрдВ рд▓рд╛рдиреЗ рдФрд░ рдЙрди рд╕рднреА рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рддрдХ рд╕рдорд░реНрдерди рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк .NET рдХрд╛ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдЕрднреА рдХреНрдпреЛрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд▓реНрджреА рджрд┐рдП рдЧрдП рддрд░реНрдХреЛрдВ рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рддрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓...

рдореИрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рдХрд╛рд▓ рджреВрдВрдЧрд╛, 3 рд╕рд╛рд▓ред ASP.NET рдЯреАрдо рдХреЗ рдкрд╛рд╕ Odata рдПрдХреАрдХрд░рдг рдирд╣реАрдВ рд╣реИ, odata рдЯреАрдо рдРрд╕рд╛ рдХрд░рддреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 1.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд╛рд╕ "рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛" рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рддрд░реНрдХ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдХрдм "рдареАрдХ" рд╣реИред рдпрд╣ рднреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рд╕реАрдПрд╕рдУрдПрдо)ред
рдмреЗрд╢рдХ 1.x рдЯреНрд░реЗрди рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЖрдкрдХреЛ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рдЫреЛрдЯреА-рдореЛрдЯреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдорд┐рд▓реЗрдВрдЧреА, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо рдЕрднреА рднреА ASP.NET рдХреЛрд░ рдХреЗ рдирд╡реАрдирддрдо рдкреНрд░рдореБрдЦ рдореЗрдВ рд╣реЛ рд░рд╣рд╛ рд╣реЛрдЧрд╛ред

рд╕рд╛рде рд╣реА рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЖрдкрдХреЛ ASP.NET Core 1.x рдХреЗ рд╕рд╛рде .NET Core 2.0 рдпрд╛ .NET Standard 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдереНрд░реЗрдб рд▓рдЧрд╛рддрд╛рд░ ASP.NET рдХреЛрд░ рдХреЛ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рдЬреЛ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред

рдореБрдЭреЗ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд╛рд╕ "рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛" рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рддрд░реНрдХ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдХрдм "рдареАрдХ" рд╣реИред

рд╕реВрдЪреА рдХреНрдпрд╛ рд╣реИ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ (рдирд╣реАрдВ, рдпрд╣ рдореБрджреНрджрд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ)ред рдпрджрд┐ рдпрд╣ Microsoft рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рдпрджрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реНрд╡рд╛рдореА рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ (рдпрджрд┐ рд╡реЗ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Microsoft рдХреА рдЧрд▓рддреА рдирд╣реАрдВ рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдореЗрдВ, ASP.net core 1.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред рдореИрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред рдпрд╣ рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдЬрд┐рд╕реЗ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреА рджреЗрдЦрднрд╛рд▓ рдФрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ .NET рдХреЛрд░ рдФрд░ .NET рдорд╛рдирдХ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рднреАрддрд░ API рд╕рдорддрд╛ рдХреА рдУрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА, рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрд┐рд╕ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рд╢рд╛рдпрдж рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ, .NET рдорд╛рдирдХ рдПрдХ рдмреИрдВрдбрдПрдб рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ .NET Core рд╣реА рдПрдХрдорд╛рддреНрд░ "рдврд╛рдВрдЪрд╛" рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ .NET Framework рдФрд░ .NET рдорд╛рдирдХ рд░рд╛рд╕реНрддреЗ рд╕реЗ рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдмрд╛рдд рдХреА рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд╕рд╛рде, рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ ASP.NET рдХреЛрд░ рдкрдХреНрд╖ рдкрд░ рдЬреЛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреАред

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

рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛, рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднрд╛рд╡реБрдХ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдП рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдореЗрдВ рдХрднреА .NET рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рд╣рдореЗрдВ рд╕рднреА рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдпрд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ ASP.NET Core .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирдП рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЖрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдХрднреА рднреА рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╣рд╛рдиреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣рд╛рдиреА рдХреЛ рдЦрд░рд╛рдм рдХрд░рддрд╛ рд╣реИред go рдпрд╛ node рдЬреИрд╕рд╛ рдХреБрдЫ (рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ 0 рд╡рд┐рд░рд╛рд╕рдд рд╣реИ)ред

рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ .NET рдХреЛрд░ рдФрд░ .NET рдорд╛рдирдХ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рднреАрддрд░ API рд╕рдорддрд╛ рдХреА рдУрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА, рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрд┐рд╕ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛, рд╢рд╛рдпрдж рдереЛрдбрд╝реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ, .NET рдорд╛рдирдХ рдПрдХ рдмреИрдВрдбрдПрдб рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ .NET Core рд╣реА рдПрдХрдорд╛рддреНрд░ "рдврд╛рдВрдЪрд╛" рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ .NET Framework рдФрд░ .NET рдорд╛рдирдХ рд░рд╛рд╕реНрддреЗ рд╕реЗ рд╣рдЯ рдЬрд╛рддреЗ рд╣реИрдВред рдореИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ рдмрд╛рдд рдХреА рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд╕рд╛рде, рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ ASP.NET рдХреЛрд░ рдкрдХреНрд╖ рдкрд░ рдЬреЛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреАред

рдпреЗ рд╕рдм рдЪреАрдЬреЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╣реЛрддреА рд╣реИрдВред ASP.NET Core рддрдм рддрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рдЬрдм рддрдХ рдХрд┐ "рд╕рдм рдХреБрдЫ" .NET Framework рд╕реЗ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред ASP.NET .NET рдХреЛрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз API рдХрд╛ рдирд╡рдкреНрд░рд╡рд░реНрддрди рдФрд░ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЙрд╕реА рдмреЙрдХреНрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдк рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреБрдЫ рдЯреНрд░реЗрдВрдбрд┐рдВрдЧ рдЖрдЗрдбрд┐рдпрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ:

  • рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВред
  • рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЬрд┐рди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдореБрдЭреЗ рдмрд╕ 1 рд╕рд╛рд▓ рдФрд░ рдЪрд╛рд╣рд┐рдП, рдореЗрд░реЗ рд▓рд┐рдП .NET Framework рд╕рдорд░реНрдерди (ASP.NET Core 3.x) рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдЧрд╛ред

рдПрдХ рддрдереНрдп рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рд▓рд┐рдЦреА (рдЬреЛ рд╣рдорд╛рд░реА рдЧрд▓рддреА рд╣реИ) рд▓реЗрдХрд┐рди рдПрдХ рдЖ рд░рд╣реА рд╣реИ (рдореИрдВ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рдХреЛ рджреЛрд╖ рджреЗрддрд╛ рд╣реВрдВ)ред

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

рдЬрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЙрдирдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ 1.1 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдПрдХ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╢рдорди рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо 1 рд╡рд░реНрд╖ рдореЗрдВ netfx рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди +3 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░реЙрдореИрди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рд░рд┐рд▓реАрдЬ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ 2.0 рд╕реНрддрд░ рдкрд░ рдПрдХ рд╕рд╛рде рдЖрддрд╛ рд╣реИ - рдпрд╣реА рд╡рд╣ рдмрд┐рдВрджреБ рд╣реИ рдЬрд╣рд╛рдВ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛! рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди "2.0 рдПрдХ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рд╣реЛрдЧрд╛; 3.0 рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдЫреЛрдбрд╝ рджреЗрдЧрд╛" рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдлрдпреВрдбреА рдХреЗ рдХрд╛рд░рдг рдХреЗ рдмрдЬрд╛рдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реЛрдЧрд╛ред

рдЗрд╕ рдЬреБрдбрд╝рд╛рд╡ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @PureKrome рдиреЗ рдЬреЛ рдХрд╣рд╛, рдореИрдВ рдЙрд╕реЗ рднреА рдкреНрд░рддрд┐рдзреНрд╡рдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдЪрд░реНрдЪрд╛ рд░рд╣реА рд╣реИред

рд╕рдорддрд╛ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ - рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдпрд╣ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ .net рдХреЛрд░ рдХрднреА рднреА рд╕рдВрдЧрддрддрд╛ рдХреЗ .net рдврд╛рдВрдЪреЗ рдХреЗ рд╕реНрддрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдареАрдХ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ asp .net core рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред

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

рдПрдХ рд░рд╛рдд рдЗрд╕рдХреЗ рдКрдкрд░ рд╕реЛрдиреЗ рдХреЗ рдмрд╛рдж -

рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ .net рдврд╛рдВрдЪреЗ рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдирд╛ рдФрд░ рдЖрдзреБрдирд┐рдХ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрднрд╡ рд╡реЗрдм рдврд╛рдВрдЪрд╛ рд▓рд┐рдЦрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рд▓реЗрдХрд┐рди рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИ рдФрд░ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЖрдк рдЕрдкрдиреЗ рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ - рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╣реБрдд рдкрд░рд╛рдорд░реНрд╢ рдХрд░рддрд╛ рд╣реВрдВ - рдФрд░ .NET рдХреЛрд░ рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднреА рдкрд╣реБрдВрдЪ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ - рдЪрд▓реЛ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ 2.0 рдмрджрд▓ рджреЗрддрд╛ рд╣реИ)ред

..рдФрд░ рд╣рд╛рдБ - рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕рдВрдЪрд╛рд░ (рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣) рдХреБрдЫ рдРрд╕рд╛ рдерд╛ рдЬрд┐рд╕реЗ рдЖрдк рд╕реБрдзрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрд░реНрдорди рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╡рд╛рдХреНрдп рдХрд╛ рд╕рдмрд╕реЗ рд╡рд┐рдирдореНрд░ рд╕рдВрд╕реНрдХрд░рдг);)

+1

рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ .net рдврд╛рдВрдЪреЗ рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдирд╛ рдФрд░ рдЖрдзреБрдирд┐рдХ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рд╕рдВрднрд╡ рд╡реЗрдм рдврд╛рдВрдЪрд╛ рд▓рд┐рдЦрдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред

рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдореЗрд░реА рдЖрд╢рд╛ рдереА рдХрд┐ рдпрд╣ рдПрдХ рдХреНрд░рдорд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд░рд╣рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Kestrel рдкрд╣рд▓реЗ perf (http.sys рдЖрдзрд╛рд░рд┐рдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╢реЗрд╖) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдлрд┐рд░ mvc/* рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░/рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрддрддрд╛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпрд╛рд╕ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдЙрддреНрдХреГрд╖реНрдЯред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдм рддрдХ Microsoft рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ 1.x рд╕рдорд░реНрдерд┐рдд рд╣реИ (рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░> рдкрд░рд┐рдЪрд╛рд▓рди рд╕рдорд░реНрдерди) рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рдЙрдЪрд┐рдд 2.x рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде (рдЬреИрд╕реЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░) рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддрдм рддрдХ рдореИрдВ рдЕрдкрдиреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЖрд░рд╛рдорджрд╛рдпрдХ рд╣реВрдВ рдЬрдм рддрдХ рд╣рдореЗрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред

+1

рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо (рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET рдХреЛрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЖрдкрдиреЗ рдХреБрдЫ рдирдИ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд▓реА рд╣реЛрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рднреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред

рдкреВрд░реНрдгрддрдпрд╛ рд╕рд╣рдорддред
рдЕрднреА рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдлреИрд╕рд▓рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрджрд░реНрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╣рдореЗрдВ рд╕рдореБрджрд╛рдп рдХреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП 1 рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╢рд╛рдпрдж 2-3 рд╡рд░реНрд╖, рдФрд░ рдХреНрдпрд╛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реАред
рдирд╣реАрдВ .net 461 рд╕рдорд░реНрдердиред

@dasMulli

рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдореЗрд░реА рдЖрд╢рд╛ рдереА рдХрд┐ рдпрд╣ рдПрдХ рдХреНрд░рдорд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рд░рд╣рд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Kestrel рдкрд╣рд▓реЗ perf (http.sys рдЖрдзрд╛рд░рд┐рдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╢реЗрд╖) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ, рдлрд┐рд░ mvc/* рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░/рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрддрддрд╛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдпрд╛рд╕ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╣рдо .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рднреА рдирд╣реАрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ... рдкреЛрд░реНрдЯрд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдФрд░ .NET рдХреЛрд░ рдФрд░ .NET рдорд╛рдирдХ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╡реИрд╕реЗ рднреА рд╣реЛрдЧрд╛, рдХрд┐ IMO рдХрд╛ рдХреЛрдИ рдЕрд╕рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET Framework рд╕рдорд░реНрдерди рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдХреБрдЫ рднреА рд╣реЛ, рддреЛ рдпрд╣ рд╣рдореЗрдВ рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд▓рдХреНрд╖реНрдп рд╣реИред

@рдЧреБрд▓рдмрдирд╛рдирд╛

рд░рд┐рд▓реАрдЬ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ 2.0 рд╕реНрддрд░ рдкрд░ рдПрдХ рд╕рд╛рде рдЖрддрд╛ рд╣реИ - рдпрд╣реА рд╡рд╣ рдмрд┐рдВрджреБ рд╣реИ рдЬрд╣рд╛рдВ рдмрдВрджрд░рдЧрд╛рд╣ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛! рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди "2.0 рдПрдХ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рд╣реЛрдЧрд╛; 3.0 рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдЫреЛрдбрд╝ рджреЗрдЧрд╛" рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдлрдпреВрдбреА рдХреЗ рдХрд╛рд░рдг рдХреЗ рдмрдЬрд╛рдп рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реЛрдЧрд╛ред

рдЖрдкрдХреЛ ASP.NET Core 2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ (.NET рдорд╛рдирдХ рдФрд░ .NET Core 2.0 рдХреЛ рднреВрд▓ рдЬрд╛рдЗрдП)?

рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.0 рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдмрд╣реБрдд рд╕рд░рд▓ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЗрдВрдЯрд░рдСрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ 2.0 рддрд░рдВрдЧ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ .. рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.1, рдЕрдЧрд░ рдиреЗрдЯрдХреЛрд░рдПрдк 2.0 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрдЬрд╛рдп 'рдорд╛рдирдХ' рдФрд░ рд╕рдорд░реНрдерд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдХреЛрдИ рднреА рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ?

рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдЧрд░ 1.1 рдПрд▓рдЯреАрдПрд╕ рдмрди рдЧрдпрд╛ рддреЛ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╕реЗ рдЕрдард╛рд░рд╣ рдорд╣реАрдиреЗ рдмрд╛рдж рдмрдВрдж рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ 'рдареАрдХ рд╣реИ, рдЖрдк 2.0 рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ' ..

рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.0 рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдмрд╣реБрдд рд╕рд░рд▓ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЗрдВрдЯрд░рдСрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ 2.0 рддрд░рдВрдЧ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ .. рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.1, рдЕрдЧрд░ рдиреЗрдЯрдХреЛрд░рдПрдк 2.0 рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрдЬрд╛рдп 'рдорд╛рдирдХ' рдФрд░ рд╕рдорд░реНрдерд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдХреЛрдИ рднреА рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ?

рдмреЗрд╢рдХ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ 3 рдЪреАрдЬреЗрдВ рдЖрдЬ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдИ рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо.рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдкреАрдЖрдИ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ .NET рдХреЛрд░ 2.0 рдкрд░ ASP.NET Core 1.1 рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдирдореВрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ .NET рдорд╛рдирдХ 2.0 рдкреИрдХреЗрдЬ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://github.com/davidfowl/AspNetCore1OnNetCore2

рдореБрдЭреЗ рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдпрджрд┐ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЯрд░рдСрдк рдкрд░рдд рдереА (рд╡рд░реНрддрдорд╛рди рдирд╣реАрдВ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдорд┐рдд рдЖрдВрддрд░рд┐рдХ рд╡реЗрдмрдПрдкреАрдЖрдИ рдХреЙрд▓ рдирд╣реАрдВ) - рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд░реИрдкрд░ ("WowNET"?) рдЬреЛ рд╣рдореЗрдВ 4.6-рдирд┐рд░реНрднрд░ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ .dll рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рдХреА рдХреАрдордд рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЬреЛ рдХрд┐ LOB рдРрдкреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ)ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╕реНрд╡рдпрдВ рдЬреАрд╡рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреАрдЖрдИ рдХреЛ .NET рдорд╛рдирдХ рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рд░рд╛рд╕рдд рдШрдЯрдХ рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рдПрдЧрд╛ред

рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдЧрд░ 1.1 рдПрд▓рдЯреАрдПрд╕ рдмрди рдЧрдпрд╛ рддреЛ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╕реЗ рдЕрдард╛рд░рд╣ рдорд╣реАрдиреЗ рдмрд╛рдж рдмрдВрдж рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ 'рдареАрдХ рд╣реИ, рдЖрдк 2.0 рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ' ..

рдпрд╣ рд╣рдореЗрд╢рд╛ рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред рдЬрд╡рд╛рдм рд╣рдореЗрд╢рд╛ "рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ"ред рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЛ рдЙрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рддреМрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдЙрд╕ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдЧрд┐рд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИред

@рд░реЛрд╣рддреНрд╕реБ

рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЗрдВрдЯрд░рдСрдк рдкрд░рдд рдереА (рд╡рд░реНрддрдорд╛рди рдирд╣реАрдВ рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдорд┐рдд рдЖрдВрддрд░рд┐рдХ рд╡реЗрдмрдПрдкреАрдЖрдИ рдХреЙрд▓ рдирд╣реАрдВ) - рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд░реИрдкрд░ ("WowNET"?) рдЬреЛ рд╣рдореЗрдВ 4.6-рдирд┐рд░реНрднрд░ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ .dll рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рджрд░реНрд╢рди рдХреА рдХреАрдордд рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдЬреЛ рдХрд┐ LOB рдРрдкреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ)ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рдХрд┐рдВрдбрд╛ рдЗрд╕ рддрд░рд╣ https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root рд▓реЗрдХрд┐рди .NET Core рдФрд░ .NET Framework рдХреЗ рд▓рд┐рдПред рд╣рдордиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рдЬрдм рд╣рдо ASP.NET рдиреЗ Helios рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛, рдПрдХ .NET Framework рд╢рд┐рдо рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ IIS рдореЗрдВ coreclr рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдХреНрд╕ рдмрд╣реБрдд рдмрджрд╕реВрд░рдд рдереЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ COM рдХрд╛ рдорд┐рд╢реНрд░рдг рдерд╛ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ [] args рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдореЗрдВ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рднреА рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдирд┐рд╖реНрдард╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рд╣реА рд░рдирдЯрд╛рдЗрдо рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрдЧреЗ рдФрд░ рдкреАрдЫреЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ 2 рдЬреАрд╕реА, 2 рдЬреАрдЖрдИрдЯреА рдЯрди рдЕрдзрд┐рдХ рдбреАрдПрд▓ рднреА рдЪрд▓рд╛ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЦрд░реАрдж рд╕реЗ рдХреБрдЫ рдХрд░рдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╕реНрд╡рдпрдВ рдЬреАрд╡рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреАрдЖрдИ рдХреЛ .NET рдорд╛рдирдХ рдкрд░ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рд░рд╛рд╕рдд рдШрдЯрдХ рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд╣реАрдВ рдирд┐рднрд╛рдПрдЧрд╛ред

рд╕реЗ рджреВрд░ред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдШрдЯрдХ рд╣реИред рд╣рдордиреЗ рдЕрднреА-рдЕрднреА .NET Framework 4.7 (https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/) рдФрд░ рд╕рд╛рде рд╣реА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ .NET рдХреЛрд░ рддреЗрдЬреА рд╕реЗ рд╢рд┐рдк рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдкреАрдЖрдИ, рд░рдирдЯрд╛рдЗрдо рдлреАрдЪрд░реНрд╕ рдЖрджрд┐ рдкрд╣рд▓реЗ рд╡рд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ рдЕрдВрддрддрдГ .NET рдорд╛рдирдХ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдВрдЧреАред рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдЕрднреА рдФрд░ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ .NET Framework рдЕрдкрдбреЗрдЯ рдЗрди-рдкреНрд▓реЗрд╕ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣рддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрд░рдм рдорд╢реАрдиреЛрдВ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде, рдврд╛рдВрдЪрд╛ рд╕рд╛рде-рд╕рд╛рде рд╣реИ рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдпрд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдСрдкреНрдЯ рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ рдЕрднреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рд╣реИред

рдЖрдЬ рд╣рдо ASP.NET Core 1.x рдореЗрдВ рдореМрдЬреВрдж net4x рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ 2.0: EntityFramework 6. рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рд╣рдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП EF6 рдкрд░ рдЕрдЯрдХреЗ рд╣реБрдП рд╣реИрдВред

рдФрд░ @PinpointTownes рдХреА рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, EF6 ASP.NET Core 2.x рдХреЗ рд╡рд░реНрддрдорд╛рди (рд╡рд┐рдХрд╛рд╕ рдореЗрдВ) рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@nphmuller рддрдм рдЖрдк ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рддрдХ рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдирд╣реАрдВ рдЪрд▓реА рдЬрд╛рддреАрдВ (рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдкрдХреЛ EF Core рд╕реЗ рдХрд┐рддрдиреА рдЪреАрдЬрд╝реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ)ред

@davidfowl рдЬрд╝рд░реВрд░, рдЕрдЧрд░ ASP.NET Core 1.x рд╕реЗ рд╕рдкреЛрд░реНрдЯ рд╡рд┐рдВрдбреЛ рдЙрд╕ рджреМрд░рд╛рди рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдЕрд╡рд░реЛрдзрди (рдЬреАрд╡рдирдЪрдХреНрд░ рд╣реБрдХ) рд╣реИред рдЕрдиреНрдп рд▓рд╛рдкрддрд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрд╡рд░реЛрдзрди рдЙрдирдХреЗ рдмреИрдХрд▓реЙрдЧ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬ рд╕реЗ рдмрдВрдзрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдореЗрд░реА рдЖрдВрдд рдореБрдЭреЗ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@рдЧреБрд▓рдмрдирд╛рдирд╛ : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдореБрджрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдЕрдкрдиреА рдпреЛрдЧреНрдпрддрд╛ рдХреЗ рд▓рд┐рдПред

рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓реЛред рд╣рдордореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдРрд╕реЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рд▓рд╛рдн рд╕рд░реНрд╡рд░ рдкрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдмрдВрдж рд╣реЛрдирд╛ рд╣реИред

рдФрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдк рд╕рднреА рдореИрдХ-рдорд╛рд▓рд┐рдХ рд╣рд┐рдкреНрдкреА рдХреЛ рдЧрдВрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ

@bradwilson рдФрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдЖрдк рд╕рднреА рдЧрдВрджреЗ рдореИрдХ-рдорд╛рд▓рд┐рдХ рд╣рд┐рдкреНрдкреА рд╣реИрдВред

рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓реЛ, рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣рд┐рдкреНрдкреА рдирд╣реАрдВ рд╣реИрдВ ;P

рд▓реЗрдХрд┐рди рд╣рд╛рдВ, рд╡рд┐рдВрдбреЛрдЬрд╝ (рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдИрдЖрдИрдПрд╕ рдФрд░ http.sys) рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде-рд╕рд╛рде xcopy рдкрд░рд┐рдирд┐рдпреЛрдЬрди, perf рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдкреБрд░рд╛рдиреЗ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдирд╛ рдпрд╛ ASP.NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдирдП рдФрд░ рдЪрдордХрджрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИред

@PinpointTownes рдПрдХ рд╕рдВрджрд░реНрдн рддреНрд░реБрдЯрд┐ рд╣реИ, рдпрджрд┐ рдЖрдк https://github.com/aspnet/Home/issues/2022#issuecomment -299810945 рдХреЗ рдЕрдиреБрд╕рд╛рд░ System.Configuration рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? EF6 рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЬреАрдПрд╕реА/рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдВрдбрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХреА рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ

@benadams рдФрд░ @PinpointTownes рдЗрд╕рдХреЗ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ System.Configuration.ConfigurationManager DLL рдирд╛рдо рдирд╣реАрдВ рд╣реИ рдЬреЛ .NET Framework рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреЛрд░реНрдЯред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдиреНрдп рд╣реИред

      "system.configuration.configurationmanager/4.4.0-preview2-25308-01": {
        "dependencies": {
          "System.Security.Cryptography.ProtectedData": "4.4.0-preview2-25308-01"
        },
        "runtime": {
          "lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": {}
        },
        "compile": {
          "ref/netstandard2.0/System.Configuration.ConfigurationManager.dll": {}
        }

рд╣рд╛рдВ, рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдФрд░ рдПрдХ рдмрдбрд╝рд╛ рдбреНрд░рд╛ рд╣реИ .. рд▓реЗрдХрд┐рди рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЗ рдмрд┐рдирд╛ рдЖрдк рдЙрди рдкрд░ рдХреНрдпрд╛ рдЪрд▓рд╛рдПрдВрдЧреЗ? рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ .net рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдиреИрдиреНрд╕реА asp.net рдХреЛрд░ рдкрд░ kesrel, UseOwin (), рдЖрджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред

рдореИрдВрдиреЗ рдХрдИ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдмрдирд╛рдП рд╣реИрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рддрд░рд╣ рд╕рд╛рдорд╛рди рд╣реИрдВ рдЬреЛ рдПрдХ рдХрддрд╛рд░ рдХреЛ рдЕрдкрдирд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╣рдо рд░реЛрдбрдореИрдк рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣рд╛ !!
рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рддреЛ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ .NET 4.x Libs рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ ASP.NET Core 2 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рд╣рдореЗрдВ .NET 4.x рдХреЛ рднреА рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core 2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ ASP.NET Core 1.x рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдореЗрдВ рд╕рднреА рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рднреА рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХреЗрд╡рд▓ рдмрдЧ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдорд╛рд░реА рдпреЛрдЬрдирд╛ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ ASP.NET Core 2 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЬреЛ рд▓реЛрдЧ?

@PinpointTownes рдПрдХ рд╕рдВрджрд░реНрдн рддреНрд░реБрдЯрд┐ рд╣реИ, рдпрджрд┐ рдЖрдк System.Configuration рдХреЛ # 2022 (рдЯрд┐рдкреНрдкрдгреА) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

<Reference Include="System.Configuration" /> рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ (рдпрд╛рдиреА рдПрдХ рд╣реА рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬреАрдПрд╕реА рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ '):

image

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреЛрд░реНрдЯред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдиреНрдп рд╣реИред

рддреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реИ рдХрд┐... рдпрджрд┐ рдЖрдк System.Configuration рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк .NET Framework 4.x рдХреЗ рд▓рд┐рдП .NET Core рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@PinpointTownes рдореБрдЭреЗ рдпрд╣ рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ System.Configuration рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╢рд┐рдкрд┐рдВрдЧ рд╣реИ (рдкреИрдХреЗрдЬ рдореЗрдВ рд╕реЗ рдПрдХ)ред рд╢рд╛рдпрдж рдпрд╣ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░реНрдЪрд╛ рд╣реИ)ред рдореИрдВ рдЖрдкрдХреЛ рд╕рд┐рд░реНрдл рдпрд╣ рдмрддрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХрд╛ рдирдореВрдирд╛ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдЯреВрдЯрд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рдерд╛ред

рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реИ (рдпрд╛рдиреА рдПрдХ рд╣реА рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬреАрдПрд╕реА рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ '):

AFAIK, рдПрд╕рдбреАрдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЬреАрдПрд╕реА рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/dotnet/sdk/issues/987#issuecomment -286307697 рджреЗрдЦреЗрдВред

рддреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ... рдЖрдк .NET Framework 4.x рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдкрд░ рд▓рд┐рдЦреА рдЧрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ System.Configuration рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?

рдореЗрд░рд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдирдореВрдиреЗ рдХреЗ рд╕рд╛рде CoreFX рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

@davidfowl рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдИрдПрдл рдХреЛрд░ рдкрд░ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рд╕рд╣рд╛рдпрдХреЛрдВ рдХреА рдпреЛрдЬрдирд╛ 2.0 рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдореИрдкрд┐рдВрдЧ (рд╕реНрд╡-рдирд┐рд╣рд┐рдд рдкреНрд░рдХрд╛рд░ рдореИрдкрд┐рдВрдЧ) рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ ...
рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ ASP.NET Core 1.x рдХреЗ рд░реЛрдбрдореИрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдорд╛рд░реА рдЯреАрдо рднреНрд░рдорд┐рдд рдФрд░ рдЪрд┐рдВрддрд┐рдд рд╣реИред

рдПрдХ рдЪреАрдЬ рдЬрд┐рд╕реЗ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ "рд╕реНрдерд┐рд░ рдордВрдЪ" рдмрдирд╛рдо "рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдВ" рдЪреАрдЬред рдПрдХ рддрд░рдл, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реНрдерд┐рд░ рдФрд░ рднрд░реЛрд╕реЗрдордВрдж рдФрд░ рд╕рдВрдЧрдд рд╣реЛ, рджреВрд╕рд░реА рддрд░рдл рдХреЛрдИ рднреА 1.x рдкрд░ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ 2.x рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпрд╛ ASP.NET Core 2.x рдореЗрдВ рд╕реБрдкрд░ рд╕рдореНрдореЛрд╣рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдЦреАрдВрдЪ рд░рд╣реА рд╣реИрдВ рдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рддрдереНрдп рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 1.x рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирдпрд╛ рдФрд░ рдЪрдордХрджрд╛рд░ рд╣реИ)?

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдЗрдирд▓рд░ рдПрдХ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реЛрддрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 1.1 (2018?) рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рд╕рдорд░реНрдерди рд╡рд┐рдВрдбреЛ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕рд╛рд░реА рдЪрд┐рдВрддрд╛рдПрдБ рд╣реИрдВ рдпрджрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрд╢реНрд╡рд╛рд╕рди рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╡реЗ asp.net 1.1 рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рдВрднрд╛рд╡рд┐рдд, рд╡рд░реНрд╖, рдФрд░ рдкреИрдЪ рдХреЗ рд▓рд┐рдП рднреА рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╢рд╛рдВрдд рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯ рдХреЛрд░ 2.0 рдкрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.1 рд╕рдорд░реНрдерди рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рдпрд╣ рд▓реЛрдЧреЛрдВ рдХреЛ (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рджреЗрддрд╛ рд╣реИ: рдПрдПрд╕рдкреАрдиреЗрдЯ 5 46 рдкрд░> рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.x 46 рдкрд░> asp.net core 1.x on .net core 2.0 > asp.net core 2 on .net core 2ред рдпрд╣ рдПрдХ рдРрд╕рд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЙрд╕ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВред

рдореИрдВ рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрди рд╕рднреА рдЪрд░реНрдЪрд╛рдУрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рднреА (рдзрдиреНрдпрд╡рд╛рдж @davidfowl ) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрддреЛрдВ рдХреЛ рдмрд╕ рдХреЗ рдиреАрдЪреЗ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдкреВрд░реНрдг/рдбреЗрд╕реНрдХрдЯреЙрдк .NET рдврд╛рдВрдЪреЗ рд╕реЗ рдвреАрд▓реЗ рдХрд╛рдЯрдиреЗ рдХреЗ рддрд░реНрдХ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдирд░рдХ, рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ ASP.NET рдХреЛ рд╕рд╢рдХреНрдд рдмрдирд╛рдиреЗ рдХрд╛ рдпрд╣реА рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реВрдВ рдХрд┐ рд╢реБрд░реБрдЖрдд рдХреЗ рдмрдЬрд╛рдп рдЕрдм рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдмреЗрд╢рдХ рд╣рдо рдЧреНрд░рд╛рд╣рдХ рджреЛрдиреЛрдВ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореИрдВ "рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдзреАрд░реЗ-рдзреАрд░реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЬрдм рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ" рдкрд░ рд╢рд░реНрдд рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп "рдореИрдВ рдирдИ рдЪрдордХрджрд╛рд░ рдЪреАрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдФрд░ рдмрд╕ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдЭреВрдард╛ рд╣реИред

рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдпрд╣ рдХреИрд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдПрдХ рдЕрдиреБрдорд╛рди рдкрд░:

.NET Core 1.x рдкрд░ рдЖрдк рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд░рд╛рдо рд╣реЛрддрд╛ред

.NET Core 2.x рдкрд░ рдЖрдк рдЬреНрдпрд╛рджрд╛рддрд░ рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ .NET Standard 1.x - 2.0 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХ рдирд╣реАрдВ рд╣реИред

.NET Core 2.0 рдкрд░ рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдХреЛрдИ рднреА рд╕рдорд╕реНрдпрд╛, рд╕рдВрднрд╡рддрдГ dotnet/corefx . рдореЗрдВ рджрд░реНрдЬ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП

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

рдЕрдм рддрдХ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░реНрдЪрд╛ рдмреАрд╕реАрдПрд▓ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдШрдЯрдХреЛрдВ (рдЬрдЯрд┐рд▓ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдПрдХреАрдХрд░рдг, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдСрдбрд┐рдпреЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо ...) рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ .NET рдкрд░рд┐рджреГрд╢реНрдп рдкрд░ рдФрд░ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдкрд┐рдЫрдбрд╝ рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреА рддрдХрдиреАрдХреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрднрд╡рдд: рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред

ASP.NET Core 1 рдХреЗ рд╕рд╛рде, рд╣рдо рдЕрдкрдиреА рдЖрдзреБрдирд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, Libs рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддрд┐ рд╕реЗрд╡рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .NET рдпрд╛ .NET рдХреЛрд░ рдкрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдЪреБрди рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдЗрд╕ рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ/рдШрдЯрдХреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдкреВрд░реНрдг .NET рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗред рдФрд░ рд╢рд░реНрдд рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдлреБрд▓ .NET рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЯрд╛рд▓рдиреЗ рдХреЗ рдирд┐рд░реНрдгрдп рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред

_NET рдХреЛрд░ 2.x рдкрд░ рдЖрдк рдЕрдзрд┐рдХрддрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ .NET рдорд╛рдирдХ 1.x - 2.0 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХ рдирд╣реАрдВ рд╣реИред_

@benaadams рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреАрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдФрд░ рдкреВрд░реНрдг .NET рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рд╣реИ (рдФрд░ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ .NET рдорд╛рдирдХ 2.0/рдкреНрд░рдХрд╛рд░ рдПрдХреАрдХрд░рдг рдореЗрдВ рдЕрд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХрд╛ ASP.NET 4 рд╕реЗ ASP.NET Core 2.0 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛?
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди ASP.NET Core 2.0 рдХреЗ рдЕрдкрдбреЗрдЯ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ ASP.NET Core рдХреЗ рд▓рд┐рдП рдХреЛрдИ OWIN/рдХрдЯрд╛рдирд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдо рд╣реИред @damianh рдиреЗ https://github.com/aspnet/AspNetKatana/issues/27 рдореЗрдВ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛

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

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЕрдм рд╣рдо рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.0 рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рд╕рд┐рдЧреНрдирд▓рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

рд╣рдо dnx, RC1 рд╕реЗ RC2 рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ json рд╕реЗ csproj рддрдХ рдХреА рд╕рд╡рд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рд╛рде рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрд╛ рдХрд┐ рд╣рдо рдЬрдВрдЧрд▓ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ ... рдЕрдм рдЗрддрдирд╛ рдирд╣реАрдВред

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

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

ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдлрд╛рд╕реНрдЯ рдЯреНрд░реЗрди рдХреЗ рдЗрд╕ рдХрджрдо рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдПрд▓рдЯреАрдПрд╕ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕рдорд░реНрдерди рдХреА рд▓рдВрдмрд╛рдИ рдХреНрдпрд╛ рд╣реЛрдЧреА?

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрджрд▓рд╛рд╡ рдЧрд▓рдд рджрд┐рд╢рд╛ рдореЗрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрдХрдбрд╝рдиреЗ рддрдХ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдореБрдЦреНрдп рдЕрдирдиреНрдп рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрдЦреНрдп-рдорд╛рддреНрд░ рдорд╛рд░реНрдЧ рдкрд░ рдЬрд╛рдирд╛ рдПрдХ рдЦрдВрдбрд┐рдд рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдПрдХ рдлрд┐рд╕рд▓рди рдврд▓рд╛рди рд╣реИред

рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдмрдпрд╛рди рджреЗрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИ: рдХреЗрд╡рд▓ netcoreapp рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдареАрдХ рд╣реИред

рдореИрдВ рднреА рдЕрдкрдиреА рд░рд╛рдп рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ .net рдврд╛рдВрдЪреЗ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ .net Framework + .net core рдХреЛ рдПрдХ рд╕рд╛рде рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕ рдирд┐рд░реНрдгрдп рд╕реЗ AspNet Core рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдХрдВрдкрдирд┐рдпрд╛рдВ рд╕реЛрдЪрддреА рд╣реИрдВ рдХрд┐: "рдЖрдЗрдП AspNet Core рдХреЛ .net core рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ .. рдЕрдЧрд░ рд╣рдореЗрдВ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ (рдЬреИрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ .net рдврд╛рдВрдЪреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ"ред рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдХрдВрдкрдирд┐рдпрд╛рдВ AspNet Core рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╕реЗ рд╣рд┐рдЪрдХрд┐рдЪрд╛рдПрдВрдЧреАред рд╕рд╛рде рд╣реА, рдпрд╣ рдирд┐рд░реНрдгрдп .netstandard рдХреЗ рдорд╛рди рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@hikalkan

рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдХрдВрдкрдирд┐рдпрд╛рдВ рд╕реЛрдЪрддреА рд╣реИрдВ рдХрд┐: "рдЖрдЗрдП AspNet Core рдХреЛ .net core рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ .. рдЕрдЧрд░ рд╣рдореЗрдВ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ (рдЬреИрд╕реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдЬрд░реВрд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ) рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ .net рдврд╛рдВрдЪреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ"ред

рдЖрдк рд╣рдореЗрд╢рд╛ ASP.NET Core 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╣реА рд╣реИ?

рд╕рд╛рде рд╣реА, рдпрд╣ рдирд┐рд░реНрдгрдп .netstandard рдХреЗ рдорд╛рди рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

рдЬрд╝рд░реВрд░, рд╡реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ: "ASP.NET Core рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2.x рд╣реИ рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк .net Framework рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП"ред рдпрд╣ рдХрд╣рдиреЗ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ "рдПрдорд╡реАрд╕реА 5.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" :)

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ .net рдХреЛрд░ рднрд╡рд┐рд╖реНрдп рд╣реИ (рднрд╡рд┐рд╖реНрдп рдирд╣реАрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдпрд╣ рдЕрднреА рднреА рд╣реИ!), рд▓реЗрдХрд┐рди рдпрд╣ .net рдврд╛рдВрдЪреЗ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдЬрд▓реНрджреА рд╣реИ (рдпрд╣ рдирд┐рд░реНрдгрдп рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ .net рдврд╛рдВрдЪрд╛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ)ред

рдЖрдк рд╣рдореЗрд╢рд╛ ASP.NET Core 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╣реА рд╣реИ?

рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рдпрд╣ рдЕрднреА рддрдХ рдкрд░рд┐рдкрдХреНрд╡ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рджрд╛рдВрд╡ рд╣реИред
рджреВрд╕рд░рд╛, ASP.Net Core рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреБрд░рд╛рдиреЗ рдЯреВрд▓ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдФрд░ рдкреАрдЫреЗ рд░рд╣рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реЗрдВрдЧреЗред
рдореБрдЭреЗ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред

  1. рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА ASP.Net Core, Dapper, рдЖрджрд┐ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧреНрд░реАрдирдлреАрд▓реНрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
    рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ 4.6 рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдкрдврд╝рд╛, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдЧрдпрд╛ рд╣реВрдВред
  2. рд╕рд┐рдЧреНрдирд▓рдЖрд░ред рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕рд░реНрд╡рд┐рд╕реЗрдЬ, рдПрдордПрд╕ рдСрд░рд▓рд┐рдпрдиреНрд╕, рдПрдЬрд╝реНрдпреЛрд░ред
  3. рд╢рд╛рдпрдж рдКрдкрд░ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╛рдЧрд▓рдкрди рд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХ ASP.Net рдХреЛрд░ рдХреЛ Kestrel рдпрд╛ рдЕрдиреНрдп HttpListener рдХреЗ рд╕рд╛рде UWP рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ UWP рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдмреНрд░рд┐рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рд╕рдВрдЪрд╛рд░ рдкрд░ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдирд┐рд░реНрдгрдп рдХреЗ рд╕рд╛рде рдЬреА рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣реАрдВ рд╕реЗ рднреА рдирд┐рдХрд▓рд╛ред

рдЬреБрд▓рд╛рдИ рдореЗрдВ рдореЗрд░реА рдЯреАрдо рдПрдХ рдЧреНрд░реАрдирдлреАрд▓реНрдб 12-18 рдорд╣реАрдиреЗ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рд╢реБрд░реВ рдХрд░ рд░рд╣реА рд╣реИ рдЬреЛ ASP.NET Core 2.0 рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET Core рдореЗрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдмреАрдЪ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ASP.NET MVC Core 1.0 рдРрдк рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдЙрддреНрдкрд╛рдж рдХрд╛ рдХреЗрдВрджреНрд░ рд╣реИ рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ .NET Framework рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЯреАрдо рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рдЙрдирдХреА рдпреЛрдЬрдирд╛ рдРрдк рдХреЛ ASP.NET MVC Core 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдереА рдФрд░ рдЬрдм рд╣рдо .NET Framework рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирдП рдРрдк рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдо ASP.NET MVC Core 1.0 рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЧрдП рд╣реИрдВ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ EOL'ed рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдкрдиреА рд░рд╛рдп рд░рдЦрдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ, рдореИрдВ рдПрдХ рддрд░рдл рд╕реНрдкрд╖реНрдЯрддрд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реЛрдЧрд╛ рдХрд┐ рдпрджрд┐ рд╣рдо ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ,
рд╣рдо dll рдХреЗ рдЙрд╕ рд▓рдХреНрд╖реНрдп .Net 4.5 рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рдкрд╛рдПрдВрдЧреЗ рдФрд░ рдХреНрдпрд╛ рд╡реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@ louislewis2 рдирд╣реАрдВ, рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдЖрдк net45 - net461 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ netstandard2.0 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд API рд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рд░рд╣реЗрдВред рдЖрдкрдХреЛ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

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

рдЕрдм рдмрд╣реБрдд рд░рд╛рд╣рдд рдорд┐рд▓реА :)

@shanselman @DamianEdwards @davidfowl рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЗ system.management dll рдореЗрдВ рдЖрдЗрдЯрдо рд╣реЛрдВрдЧреЗред рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Azure рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдВрдкреВрд░реНрдг рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓рд┐рдВрдХ рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реЛрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХреБрдЫ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреА?

https://github.com/dotnet/corefx/issues/3324
https://github.com/dotnet/corefx/issues/14762

рдпрд╣ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╣реЛрд▓реНрдбрдЕрдк рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХреБрдЫ рдРрдкреНрд╕ рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рддрд╛ рд░рд╣рддрд╛ рд╣реИред

рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдЕрдЬреАрдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИред

рдореИрдВ ASP.Net 4.5 рд╕реЗ рд╣рдорд╛рд░реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЛ Kestrel (рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдХрд╛рд░рдг) рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрд╡рдпрдВ-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЗрди-рдкреНрд░реЛрд╕реЗрд╕ рд╕реЗ рдкреВрд░реНрдг рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП ASP.Net Core 1.x рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВред

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

рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдПрдХ HTTP рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реИред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рддреЛ рдореБрдЭреЗ рдмрд╕ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ ASP.Net рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рдЬреИрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрддреНрдкрд╛рджрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред

рдпрджрд┐ рд╕реНрдЯреИрдХ рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдФрд░ рд╕реНрдкреИрди рдЬреИрд╕реА рд╕рднреА рдирдИ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд┐рдм рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред ASP.Net Core 2.x рдХреМрди рд╕реЗ API рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ netcoreapp2.0 рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ netstandard2.0 рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рдЙрди API рдХреЛ netstandard2.0 рдПрдХреНрд╕рдЯреЗрдВрд╢рди lib рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдХреНрдпрд╛ рд╣рдо рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдордПрд╕ рдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХ (рдиреЗрдЯ) рдорд╛рдирдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ 2 рд╕рд╛рд▓ рдмрд┐рддрд╛рдП, рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдореБрдЦ рдЙрддреНрдкрд╛рдж рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдФрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

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

@mattnischan

рдореИрдВ ASP.Net 4.5 рд╕реЗ рд╣рдорд╛рд░реЗ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЛ Kestrel (рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рдХрд╛рд░рдг) рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрд╡рдпрдВ-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдЗрди-рдкреНрд░реЛрд╕реЗрд╕ рд╕реЗ рдкреВрд░реНрдг рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП ASP.Net Core 1.x рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВред

рдЖрдк ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

рдпрджрд┐ рд╕реНрдЯреИрдХ рдХреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдФрд░ рд╕реНрдкреИрди рдЬреИрд╕реА рд╕рднреА рдирдИ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд┐рдм рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред ASP.Net Core 2.x рдХреМрди рд╕реЗ API рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ netcoreapp2.0 рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ netstandard2.0 рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЗрд╕ рджреМрд░рд╛рди рдЙрди API рдХреЛ netstandard2.0 рдПрдХреНрд╕рдЯреЗрдВрд╢рди lib рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЬрдм рдПрдкреАрдЖрдИ .NET рдорд╛рдирдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?

@рд╕реНрдЯреАрдлрди2410

рдЖрдк рдЙрд╕ рдЕрдзрд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдкрдХреЛ рдХрд┐рди ASP.NET Core 2.0 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╣реИ?

рдРрдк рдХреЛ рдЕрдЧрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реИрд╕реЗ рд╣реА рд░рдЦреЗрдВ, рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЙрдирдХреЗ .NET рдХреЛрд░ рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╕реНрд╡реИрдк рдХрд░реЗрдВ рдЬрдм рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╣рдорд╛рд░реЗ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдЖрджрд┐ рдХреЛ рджреЛ рдРрдкреНрд╕ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд░реЗрдЧрд╛ред
рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЬреБрд▓рд╛рдИ 2018 ASP.NET MVC Core 1.0 рд╕рдорд░реНрдерди рдХреА рд╕рдордп рд╕реАрдорд╛ рд╣реИред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореЗрд░реА рдХрд╛рд▓реНрдкрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рдо 1.x . рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ

рдРрдк рдХреЛ ASP.NET MVC Core 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ рдФрд░ рдЬрдм рд╣рдо .NET Framework рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрд╡реИрдк рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдирдП рдРрдк рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрд░ 2.0 .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдм рдХреБрдЫ рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ASP.NET Core 2.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдпрд╛ рд╕рд┐рд░реНрдл .NET рдХреЛрд░ 2.0?

рдЬрдм рдПрдкреАрдЖрдИ .NET рдорд╛рдирдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?

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

@davidfowl
рдореИрдВ ASP.Net рдХреЛрд░ 2.0 рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдФрд░ рдХреЛрдИ рдЙрдкрд╛рдп рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЯреАрдо рдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреАрдЫреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рд╣рдордиреЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛ред
рдЬрд╣рд╛рдБ рддрдХ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ 4.6 рдЕрд╕реЗрдВрдмрд▓реА рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рд╕рд┐рдЧреНрдирд▓рдЖрд░, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдЬрд╝реВрд░/рдЕрдореЗрдЬрд╝реЕрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдПрдордПрд╕ рдСрд░рд▓рд┐рдпрдиреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╢рд╛рдпрдж рдпрд╣ рдКрдкрд░ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХ ASP.Net рдХреЛрд░ рдХреЛ Kestrel / HttpListener рдХреЗ рд╕рд╛рде UWP рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ UWP рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдмреНрд░рд┐рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╣рдо XAML рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдЖрдк ASP.NET Core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

рдХрд┐рд╕ рд╕рдордп рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП? рдореИрдВ рдЗрд╡реЗрдВрдЯ рд▓реЙрдЧ рдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдмрдирд╛рдиреЗ рдЬреИрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред

рдЬрдм рдПрдкреАрдЖрдИ .NET рдорд╛рдирдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдЖрдк рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВрдЧреЗ?

рдХреНрдпрд╛ рдпрд╣ рдмрд╛рдд рд╣реИ? netstandard20 рдЕрднреА рднреА рдбреЙрдХреНрд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ net461 рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб20 рдХреЗ рддрд╣рдд рдПрдкреАрдЖрдИ рдирдИ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ? рдпрд╛, рдХреНрдпрд╛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рдврд╛рдВрдЪреЗ рд╕реЗ рдкрд░реЗ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдИ рд╣реИ?

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

рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдорд╛рдирдХ рдХреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдорд╛рдирдХ рдореЗрдВ рд╣реА рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕реЗ .NET рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рдЕрдкрдирд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • .NET рдорд╛рдирдХ рд╕рдмрд╕реЗ рдзреАрдореА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рджрд░ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛
  • .NET рдорд╛рдирдХ рдХрд┐рд╕реА рдЕрдиреНрдп рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдЕрдВрддрд┐рдо рд╣реЛрдЧрд╛ред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╢рд╛рдпрдж рдпрд╣ рдКрдкрд░ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рд╕рд╛рде рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХ ASP.Net рдХреЛрд░ рдХреЛ Kestrel / HttpListener рдХреЗ рд╕рд╛рде UWP рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ UWP рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдмреНрд░рд┐рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

UWP рдкрд░ ASP.NET рдХреЛрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд┐рд╕реА рд░реЛрдбрдореИрдк рдкрд░ рдирд╣реАрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред HttpListener .NET рдорд╛рдирдХ 2.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж рдПрдХ рдореМрдХрд╛ рд╣реИ рдЬреЛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

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

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

  • .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рд╡рд░реНрд╖ (рдЬреБрд▓рд╛рдИ 2019 рддрдХ) рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╕рд╛рд▓рд╛рдирд╛ рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВрдЧреЗ рдФрд░ ASP.NET Core 1.x рдХрд╛ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 12 рдорд╣реАрдиреЗ рдХрд╛ рдиреЛрдЯрд┐рд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдВрдЧреЗ (рдЗрд╕рд▓рд┐рдП рдЬреБрд▓рд╛рдИ 2018 рддрдХ рд╣рдо рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЬреБрд▓рд╛рдИ 2020 рддрдХ рдФрд░ 12 рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) ( рд╕рд╛рдЗрдб рдиреЛрдЯ: рд╣реИ рдХреЛрдИ рдФрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдбрд░ рдЧрдпрд╛ рдХрд┐ рд╣рдо 2020 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд╣реАрдВ? рдареАрдХ рд╣реИ, рдмрд╕ рдореИрдВред )
  • рдирдпрд╛ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 1.x (рдЗрд╕ рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ред
  • рд╣рдо рдирдП рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдЖрджрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core 1.x рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдЬреИрд╕реЗ рд╣рдо System.Web рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ
  • ASP.NET Core 1.x .NET Core 1.x рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЬреБрд▓рд╛рдИ 2018 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ (рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ)
  • ASP.NET Core 1.x .NET Core 2+ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддрдм рддрдХ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ .NET Framework рдкрд░ ASP.NET Core 1.x рд╕рдорд░реНрдерд┐рдд рд╣реИред

    • рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рд╕рдорд░реНрдерд┐рдд .NET рдХреЛрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд ASP.NET рдХреЛрд░ рдХрд╛ рдУрд╡рд░рд▓реИрдк рд╣рдореЗрд╢рд╛ рдмрдирд╛ рд░рд╣реЗ, рдЬрдмрдХрд┐ рд╣рдо .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдорд░реНрдерд┐рдд рдмрд┐рдЯреНрд╕ рдкрд░ рд░рд╣рддреЗ рд╣реБрдП рд╕рдордп рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

  • .NET рдХреЛрд░ 1.x рд╕рдорд░реНрдерди (рд░рдирдЯрд╛рдЗрдо рдХреЗ рд░реВрдк рдореЗрдВ) рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рдЬреБрд▓рд╛рдИ 2018 рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред ASP.NET Core 1.x рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ .NET Core 2.0 рдореЗрдВ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдЙрд╕ рд╕рдордп .NET Framework рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ .NET Core 2.0 рдкрд░ ASP.NET Core 2.0 рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)
  • рд╣рдо рдЗрд╕ рд╕рд╛рд▓ System.DirectoryServices рдФрд░ System.Drawing рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ (рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди)
  • рдЙрд╕рдХреЗ рдмрд╛рдж .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ ServiceBase (.NET рдХреЛрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рд╢рд╛рдорд┐рд▓ рд╣реИред рдЕрдЧрд▓реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдордпрд░реЗрдЦрд╛ рдирд╣реАрдВ рд╣реИ (рдЬрдм рд╣рдо рд╕реВрдЪреА рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдордп-рд╕рд╛рд░рд┐рдгреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдареЛрд╕ рд╣реЛ рдЬрд╛рддреА рд╣реИ)ред рдЬреИрд╕реЗ рд╣реА рд╣рдо рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рд╣рдо рдЗрд╕ рд╕реВрдЪреА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред
  • рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ System.ServiceModel (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб WCF) рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП WCF рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдлреАрдбрдмреИрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реА рдЧрдИ рд╣реИрдВ, рдЬреИрд╕реЗ HTTP рд╕рдВрджреЗрд╢ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиред

@DamianEdwards @davidfowl рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЕрд╡рд╕рд░ рд▓рд╛рдЧрдд рдХрд╛ рддреНрдпрд╛рдЧ рдХрд░рддреЗ рд╣реБрдП рдирд┐рдпреЛрдЬрди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдорд╣реАрдиреЛрдВ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрдЧрдарди рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред .NET 4.x рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред

рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ MS ASP.NET рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ .NET рдХреЛрд░ рдХрд╛ рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рд╡рд┐рдкрдгрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ ASP.NET 4.x рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд░реБрдХ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ рдФрд░ рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рднреА рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ ASP.NET рдХреЛрд░ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЪрд╛рд▓реВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдХреЗ рдиреАрдЪреЗ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрджрд┐ рдЙрдирдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд╡реЗ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдПрдХ EOL'ed рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред рдпрд╣ рджреЛрдиреЛрдВ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕/рдкрд░рд╛рдорд░реНрд╢рджрд╛рддрд╛рдУрдВ рдХреЛ рднреА рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ рдЬреЛ .NET рдХреЛрд░ рдореЗрдВ рдХрджрдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЪреИрдВрдкрд┐рдпрди рдереЗред рдЙрдиреНрд╣реЗрдВ рдЕрднреА ASP.NET Core 2.0 рд╕реЗ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реЗрдбрд░реВрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореМрдЬреВрджрд╛ "рд╡рд┐рд░рд╛рд╕рдд" рдХреЛрдб рдХреЛ рджрд╛рдпрд┐рддреНрд╡ рдХреНрдпреЛрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдИрдПрдордУ рдЗрд╕реЗ .NET рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, .NET рдХреЛрд░ рдХрд╣реАрдВ рднреА рдЖрдХрд░реНрд╖рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ . JVM рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдФрд░ рд╕реНрдерд┐рд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдХрд╛рд░рдг рдЬрд╛рд╡рд╛ рдЕрднреА рднреА рдЗрддрдирд╛ рдордЬрдмреВрдд рд╣реИ рдЬреЛ рднрд╛рд╖рд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рдХрдордЬреЛрд░реА рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

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

рдХреНрдпрд╛ ASP.NET Core 2.0 рд╕реНрдерд┐рд░/рд╕рдВрдЧрдд рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП .NET Core-only рднрд╡рд┐рд╖реНрдп рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдерд╛ред

@DamianEdwards рдЕрджреНрдпрддрди рдФрд░ рд╕реНрдкрд╖реНрдЯ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдЖрдкрдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

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

рдЬрдм рддрдХ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛, рд╣рдорд╛рд░реЗ рдРрдкреНрд╕ ASP.NET рдХреЛрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рдкрд░ рдбреЙрдЧрдлреВрдбрд┐рдВрдЧ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реЛрдВрдЧреЗред

рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдлреИрд╕рд▓реЗ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдПрдХ рджрд┐рди рд╣рдо рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЛ рдЙрди рд╣рдЬрд╛рд░реЛрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдВрдЯреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рдЗрд╕ рдмрд╛рдд рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рд╣рдо 1.x рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп, рдкреИрд╕рд╛ рдФрд░ рдкреНрд░рдпрд╛рд╕ рдЦрд░реНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг рд╡рд╣рд╛рдВ рдлрдВрд╕реЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЗрд╕ рдкреВрд░реЗ рдзрд╛рдЧреЗ рдореЗрдВ, рдЖрдкрдиреЗ System.DirectoryServices рдХреЛ рдореБрдЦреНрдп рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрддрд╛рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд░реНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ 2.0 рд╕рдорд░реНрдерд┐рдд .NET Framework рд╣реИ рддреЛ рдХреНрдпрд╛ рд╡реЗ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреА?

2.x рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдХреБрдЫ рд╕рд╛рд░реНрдердХ рдЙрдиреНрдирдпрди рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрднреА рднреА рдпрд╣ рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЬреЛ рд▓реЛрдЧ? рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рдВрдХреНрд░рдордг рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдЪреНрдЪ рдорд╣рддреНрд╡ рдХреА рдЪреАрдЬреЛрдВ рдХреЛ ASP.NET Core 1.1 рдореЗрдВ рд╡рд╛рдкрд╕ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рдереЗред

рдЬрдм рддрдХ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛, рд╣рдорд╛рд░реЗ рдРрдкреНрд╕ ASP.NET рдХреЛрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдВрдЧреЗ, рдФрд░ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рдкрд░ рдбреЙрдЧрдлреВрдбрд┐рдВрдЧ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реЛрдВрдЧреЗред

рдореБрдЭреЗ stackoverflow.com рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рддреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдореИрдВ "рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдПрдВ" рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛) рддрд╛рдХрд┐ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

@mythz

рдпрд╣ рджреЛрдиреЛрдВ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕/рдкрд░рд╛рдорд░реНрд╢рджрд╛рддрд╛рдУрдВ рдХреЛ рднреА рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ рдЬреЛ .NET рдХреЛрд░ рдореЗрдВ рдХрджрдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЪреИрдВрдкрд┐рдпрди рдереЗред

рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдорддрд▓рдм ASP.NET Core рд╕реЗ рдерд╛? рдпрд╛ .NET рдХреЛрд░?

@davidfowl рдореЗрд░рд╛ рдорддрд▓рдм ASP.NET рдХреЛрд░ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рджреЗрд╡реЛрдВ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ ASP.NET Core/.NET 4.x рд╕реЗ рдкрд╣рд▓реЗ .NET рдХреЛрд░ рд╕реЗ рдПрдХ рдЪрд░рдгрдмрджреНрдз рдкреНрд░рд╡рд╛рд╕ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рдереЗред

рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ SAML рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core/.NET Core рдкрд░ рдХреЛрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдЖрдИрдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдПрд╕рдУ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВред

@davidfowl рдореЗрд░рд╛ рдорддрд▓рдм ASP.NET Core рд╕реЗ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рджреЗрд╡реЛрдВ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ ASP.NET Core .NET 4.x рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░рдгрдмрджреНрдз рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ .NET Core рдмрд╛рдж рдореЗрдВред

рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпреЛрдЬрдирд╛ рд╢рд╛рдпрдж рдореЗрд░реЗ рд╕рдВрдЧрдарди рдХреЗ рд▓рд┐рдП рдордВрдЪ рд╕реЗ рд╣рдЯрдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧреАред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд░реНрдерди (= рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдЪ) рдХреЗ рд╕рд╛рде рд▓рдВрдмреА рдЕрд╡рдзрд┐ рд╣реЛ рд░рд╣реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рд╢реЗрд╖ netfx рд╡рд┐рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдиреНрдпрдерд╛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдЕрднреА рднреА рдПрдХ рддрд░рд╣ рдХрд╛ рдкрд╛рд╕рд╛ рдФрд░ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрдЬреАрдм рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЕрдм рд╕реЗ рддреАрди рд╕рд╛рд▓ рдмрд╛рдж рд╣рдо рдПрдХ рдРрд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХреНрд╕реЗрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдирд┐рдЧрд▓ рд╕рдХреЗ рдпрд╛ рдХрд┐рд╕реА рдРрдк рдореЗрдВ рд╡реЗрдмрд╕рд░реНрд╡рд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХреЗ? рдиреЗрдЯрдХреЛрд░рдПрдк рдХреЗ рдмрдЬрд╛рдп рдорд╛рдирдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдСрд░рд▓рд┐рдпрдиреНрд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЬреИрд╕реЗ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдкрд░ рдЗрддрдирд╛ рдХрд╛рдо рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЕрдЧрд░ рдпрд╣ рдХрднреА рднреА ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЕрдм рд╕реЗ рддреАрди рд╕рд╛рд▓ рдмрд╛рдж рд╣рдо рдПрдХ рдРрд╕реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХреНрд╕реЗрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдирд┐рдЧрд▓ рд╕рдХреЗ

рдмрддрд╛рдирд╛ рдХрдард┐рди рд╣реИред рдореИрдВ рдЙрди рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓ рд╕рдХрддрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕реЗ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдпрд╛ рдХрд┐рд╕реА рдРрдк рдореЗрдВ рд╡реЗрдмрд╕рд░реНрд╡рд░ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП?

HttpListener рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдиреЗрдЯрдХреЛрд░рдПрдк рдХреЗ рдмрдЬрд╛рдп рдорд╛рдирдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдСрд░рд▓рд┐рдпрдиреНрд╕ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдЬреИрд╕реЗ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

рдпрд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ .NET Framework, UWP, .NET Core, mono рдЖрджрд┐ рдкрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдСрд░рд▓рд┐рдпрдиреНрд╕ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ASP.NET рдХреЛрд░ рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдЙрддреНрдкрд╛рдж рдПрдХ рд╣реА рд╣реИрдВред

рд╣рдорд╛рд░реЗ (рдФрд░ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ) рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдард┐рди рдирд┐рд░реНрдгрдп рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдЬ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореБрдЭреЗ рдЕрдм рд╕реЗ 6 рдорд╣реАрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдпрд╛ рдирд╣реАрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рдврд╛рдВрдЪреЗ рдХреА рдПрдХ рд▓рдВрдмреА рдкреВрдВрдЫ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ netstandard рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣реАрдиреЗ рдореЗрдВ рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдореЗрдВ NHibernate рдореЗрдВ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ EF6 рдореЗрдВ рд╡рд╣рд╛рдВ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рдереЗ, рдЕрдХреЗрд▓реЗ EF рдХреЛрд░ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред рддреЛ рд╡рд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реЛрдЧрд╛ - ASP.NET Core 1.x рдХреЛ рдкреВрд░реНрдг .NET рдкрд░ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреБрдЫ ApiPort рд╣реИред

рддреЛ рд╡рд╣рд╛рдБ рдореЗрд░рд╛ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реЛрдЧрд╛ - ASP.NET Core 1.x рдХреЛ рдкреВрд░реНрдг .NET рдкрд░ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ?

рд╣рд╛рдВред

рдмрддрд╛рдирд╛ рдХрдард┐рди рд╣реИред рдореИрдВ рдЙрди рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓ рд╕рдХрддрд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕реЗ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдПрдПрд╕рдкреАрдиреЗрдЯ рдЯреАрдо рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢рд╛рдпрдж-рдкреЛрд░реНрдЯреЗрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдПрдПрд╕рдкреАрдиреЗрдЯ рдЯреАрдо рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╢рд╛рдпрдж-рдкреЛрд░реНрдЯреЗрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВред

.NET рдмрдбрд╝рд╛ рдФрд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдРрд╕рд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдЖрдк ASP.NET рдЯреАрдо рд╕реЗ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдореМрдЬреВрдж рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рд╛рдВрд╕реЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдпрд╣ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред рдореИрдВрдиреЗ рдЕрднреА рд╕реАрдЦрд╛ рдХрд┐ CSOM (https://msdn.microsoft.com/en-us/library/office/jj163123.aspx) рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпрд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдерд╛ рдЬрд╝рд░реВрд░ред

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET 1.1 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдврд╝рд╛рдиреЗ рд╕реЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЛрд░ (рдЬреЛ рдХрд┐ рдЕрднреАрд╖реНрдЯ рднрд╡рд┐рд╖реНрдп рд╣реИ) рдкрд░ ASP.NET рдХреЛрд░ рдХреЛ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА ред

рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рдЪреБрдХреА рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (amilia.com, e-commerce SaaS) рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдЯреВрд▓рд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╢реЛрд╕реНрдЯреЙрдкрд░ рд╣реИ, рд╣рдо рдлрд┐рд▓рд╣рд╛рд▓ ASP.NET Core рдХреЛ рдкреВрд░реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡реИрдз рдХрд╛рд░рдг рдХреА рддрд░рд╣ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдмрд╛рдзрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдо .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЙрди рдЯреВрд▓ (рдпрд╛рдиреА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ, рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░, рдЖрджрд┐) рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХрд╛ рдХрд╛рдо рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдзрд┐рдХ рджрдмрд╛рд╡ рд╡рд╛рд▓реЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░реВрдВрдЧрд╛ред рд╣рдо рдЕрдВрддрддрдГ ASP.NET Core/.NET Core рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрднреА рдпрд╣ рдХрд╛рдлреА рдЧрддрд┐рд╢реАрд▓ рд▓рдХреНрд╖реНрдп рд╣реИред

рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдмрдирд╛рдИ рдЧрдИ рдереА рдХрд┐ ASP.NET Core рдбреЗрд╕реНрдХрдЯреЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд░рд╣реЗрдЧрд╛ , рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрджрд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдЪрд╛рдп рдХреА рдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рд╡рд╣ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдерд╛: /

рдЬреИрд╕реЗ, рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛: рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ ASP.NET Core рдХреЗрд╡рд▓ .NET Core рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рд╕реНрд╡рдпрдВ рдкрд╛рдЧрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдХрднреА рдирд╣реАрдВ рд╕реБрдирд╛ред рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реВрдЪрдирд╛ рдпрд╣ рдереА рдХрд┐ рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдареАрдХ рдЪрд▓рддреА рдереА рдФрд░ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдерд╛ рдХрд┐ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

.NET рдмрдбрд╝рд╛ рдФрд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдЖрдк ASP.NET рдЯреАрдо рд╕реЗ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдореМрдЬреВрдж рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕рд╛рдВрд╕ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ .NET 4.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд░рд╣рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ? рд╕рдВрдЧрддрддрд╛/рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рдмреЛрдЭ .NET 4.x рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХреЛ рдкреБрд░рд╛рдиреЗ libs рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рджрдмрд╛рд╡ рдХреЛ рджреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ( рдПрдордПрд╕ рдФрд░ рдмрд╛рд╣рд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП)ред

@mythz

рдХреНрдпрд╛ рдпрд╣ .NET 4.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд░рд╣рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ? рд╕рдВрдЧрддрддрд╛/рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рдмреЛрдЭ .NET 4.x рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╕рдорд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХреЛ рдкреБрд░рд╛рдиреЗ libs рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдкрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджрд┐рд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореМрдЬреВрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рджрдмрд╛рд╡ рдХреЛ рджреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ ( рдПрдордПрд╕ рдФрд░ рдмрд╛рд╣рд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП)ред

рдЗрд╕рд▓рд┐рдП ASP.NET Core on 1.1 рдХрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдирд╣реАрдВ)ред рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ ASP.NET Core 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдХрд╛рд░рдг рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╛рде рд╣реА, рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ ASP.NET Core рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЗрд░рд╛рджрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рдПрдХреАрдХреГрдд .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдк рдХрд░рдиреЗ рдХрд╛ рдерд╛ред

@рдЧреБрд▓рдмрдирд╛рдирд╛

рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдмрдирд╛рдИ рдЧрдИ рдереА рдХрд┐ ASP.NET Core рдбреЗрд╕реНрдХрдЯреЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд░рд╣реЗрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрджрд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдЪрд╛рдп рдХреА рдкрддреНрддрд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рд╡рд╣ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдерд╛: /

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдХреЛ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдк рдЧреИрдк рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрднреА рднреА рд╕рдВрдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдореИрд╕реЗрдЬ рдХрд┐рдпрд╛ рд╣реИ)ред рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛, рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ рдпрджрд┐ рдЖрдк рдорд╛рди рд▓реЗрдВ рдХрд┐ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдВрдЧреАред

рдЗрд╕рд▓рд┐рдП ASP.NET Core on 1.1 рдХрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдирд╣реАрдВ)ред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдВрдЧрдд/рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬ рдХреЗ рд╡рд┐рддрд░рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА EOL'ed рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдирд┐рд╡реЗрд╢реЛрдВ рдХреЗ рдореВрд▓реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдИрдУрдПрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рджреЗрд╡ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдмреНрд░рд╛рдЙрдирдлреАрд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдЙрдиреНрд╣реЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрддрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди ASP.NET v4.x рдХреМрд╢рд▓ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдирдП ASP.NET рдХреЛрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЙрдбрд▓ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ . NET 4.x рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣ рдЧреИрд░-рдЬрд┐рдореНрдореЗрджрд╛рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдПрдХ рдбреЗрдб-рдПрдВрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реЗрдВред

@davidfowl

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдХреЛ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдк рдЧреИрдк рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрднреА рднреА рд╕рдВрдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдореИрд╕реЗрдЬ рдХрд┐рдпрд╛ рд╣реИ)ред рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛, рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ рдпрджрд┐ рдЖрдк рдорд╛рди рд▓реЗрдВ рдХрд┐ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдВрдЧреАред

рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ, рдареАрдХ рд╣реИред рдЕрдм рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдирд╛ рд▓реА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рддрд╛рд░реНрдХрд┐рдХ рд▓реЗрдХрд┐рди рдЧрд▓рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рдХреЗрд╡рд▓ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рддрдиреЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ: /

рдореИрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2/.рдиреЗрдЯ рдХреЛрд░ 2 рдХрд╛ рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдирддреАрдЬрд╛ рдЗрддрдирд╛ рдЙрджрд╛рд╕ рд╣реИред

@mythz

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдирд┐рд╡реЗрд╢реЛрдВ рдХреЗ рдореВрд▓реНрдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдИрдУрдПрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ 3.0 рдЖрдиреЗ рдкрд░ ASP.NET Core 2.0 рдХреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ EOL рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣реА рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ASP.NET Core 1.1 рдкрд░ рдПрдХ рд╡рд░реНрд╖ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк ASP.NET Core 2.0 рдкрд░ рдПрдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдХреНрдпреЛрдВ рджреЗрдВрдЧреЗ?

рджреЗрд╡ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдмреНрд░рд╛рдЙрдирдлреАрд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдЙрдиреНрд╣реЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдмрддрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рд╡рд░реНрддрдорд╛рди ASP.NET v4.x рдХреМрд╢рд▓ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдирдП ASP.NET рдХреЛрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЙрдбрд▓ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ . NET 4.x рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдпрд╣ рдЧреИрд░-рдЬрд┐рдореНрдореЗрджрд╛рд░рд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдПрдХ рдбреЗрдб-рдПрдВрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдпрд╛ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реЗрдВред

рдХрд┐рд╕рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ ASP.NET 4.x рдХреМрд╢рд▓ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдЕрдЧрд░ рдХреБрдЫ рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред рдПрдорд╡реАрд╕реА рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдЫ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЯрд╛рд▓ рджреЗрддрд╛ рд╣реИред ASP.NET Core рдХрд╛рдлреА рд╣рдж рддрдХ рдХрдЯрд╛рдирд╛ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рдФрд░ рдпрд╣ рдЧрд▓рддреА рд╕реЗ рдирд╣реАрдВ рд╣реИ)ред рдпрджрд┐ рдЖрдк рд╡реЗрдм рдлреЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдПрдорд╡реАрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

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

@xyting рдХреНрдпрд╛ рдЖрдк рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@davidfowl

рдХреНрдпрд╛ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ 3.0 рдЖрдиреЗ рдкрд░ ASP.NET Core 2.0 рдХреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ EOL рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣реА рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ASP.NET Core 1.1 рдкрд░ рдПрдХ рд╡рд░реНрд╖ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк ASP.NET Core 2.0 рдкрд░ рдПрдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдХреНрдпреЛрдВ рджреЗрдВрдЧреЗ?

рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдпрд╣ рдорд╛рди рд░рд╣рд╛ рдерд╛ рдХрд┐ ASP.NET Core 1.1 ASP.NET Core 2.0 рдФрд░ .NET Standard 2.0 рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕реНрдЯреЙрдк-рдЧреИрдк рд╕рдорд╛рдзрд╛рди рдерд╛, рдЬреЛ рдХрд┐ рд╕рдВрдЧрддрддрд╛ рдХреЗрдВрджреНрд░рд┐рдд рдФрд░ рд╕реНрдерд┐рд░ LTS рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧрд╛ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░ рдХреЛ рдкрд╛рдЯ рджреЗрдЧрд╛ред .NET 4.x - up рд╕реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЧрд╛рдпрдм рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрд╕ рдзрд╛рд░рдгрд╛ рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рджреЗрддрд╛ред ASP.NET Core 2.0 рддрдХ .NET 4.x рд╕рдВрдЧрддрддрд╛ рд░рдЦрдирд╛ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ рдЬрд┐рд╕рдХреА рдХрд┐рд╕реА рдХреЛ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред

рдХрд┐рд╕рдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ ASP.NET 4.x рдХреМрд╢рд▓ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ? рдЕрдЧрд░ рдХреБрдЫ рд╣рдо рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред

MS .NET рдХреЛрд░ рдкрд░ рдЕрдкрдиреЗ рд╕рднреА рдЖрдХреНрд░рд╛рдордХ рд╡рд┐рдкрдгрди рдХреЗ рд╕рд╛рде рд╕рднреА рдирдИ рдШреЛрд╖рдгрд╛рдУрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдХреНрдпрд╛ рдкреБрд░рд╛рдиреЗ ASP.NET WebForms/MVC рдХреЛ рднреА рдЦреБрд▓реЗ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдкреБрд░рд╛рдиреЗ ASP.NET WebForms/MVC рдмрдирд╛рдо .NET Core рдкрд░ рдХрд┐рддрдиреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рджреЗрд╡ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдирд┐рд╡реЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рджреЗрдЦрд╛ рд╣реИ, рд╕рднреА рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рд╕реНрдЯреИрдВрдбрдЕрдк, рд╡реАрдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ ASP.NET рдХреЛрд░ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рд╡реЗрдмрдлреЙрд░реНрдо рдпрд╛ рдПрдорд╡реАрд╕реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдИ рдЧреНрд░реАрдирдлреАрд▓реНрдб рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

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

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдкрд░ рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдкреВрд░реЗ рдвреЗрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рд╣рд░реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╡реЗрдм рдврд╛рдВрдЪреЗ рдХреЗ рдкреВрд░реЗ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдкреВрд░реЗ рдвреЗрд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рдорд╛рди рдирд╣реАрдВ рд╣реИред System.Web рдХрд╛ рдмреЛрдЭ рдХрдо рдХрд░рдирд╛ рдПрдХ рдореБрдЦреНрдп рдХрд╛рд░рдг рд╣реИ ASP.NET Core рдЗрддрдирд╛ рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред

рдЗрд╕ рдкрд░ рд╕реЛрдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдареАрдХ рд░рд╣реЗрдЧрд╛, рд╣рдореЗрдВ рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╕рднреА 2.0 рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд╛рде рд╣реА, рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ ASP.NET Core рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЗрд░рд╛рджрд╛ рд╣рдореЗрд╢рд╛ рдПрдХ рдПрдХреАрдХреГрдд .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд┐рдк рдХрд░рдиреЗ рдХрд╛ рдерд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирд╕рд┐рдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдХреЛрд░ .NET рдХреЗ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдордВрдЪ рд╣реИ ... рдпрджрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ (рдпрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ "рд╣рдореЗрд╢рд╛" рдХрд╣рддреЗ рд╣реИрдВ) рдЗрд░рд╛рджрд╛ ASP.NET рдХреЛрд░ рдХреЛ . NET рдХреЛрд░, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдорд╛рдзреНрдпрдо рдореЗрдВ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВрдиреЗ рд╕рдЪрдореБрдЪ рд╣рд░ рдПрдХ ASP.NET рд╕реНрдЯреИрдВрдбрдЕрдк рдХрд╛ рд╣рд░ рдПрдХ рдорд┐рдирдЯ рджреЗрдЦрд╛ рд╣реИ (рд╣рдВрд╕реЗрд▓рдореИрди рдФрд░ рдЧреНрд▓реЗрди рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдбреЙрдХрд░ рд╕рд╣рд┐рдд 3 рдШрдВрдЯреЗ ... рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдЬреАрд╡рди рдирд╣реАрдВ рд╣реИ), рдореИрдВ рдмреНрд▓реЙрдЧ рдкрдврд╝рддрд╛ рд╣реВрдВ, рдореИрдВ рд╣рдореЗрд╢рд╛ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рд░рд╣рддрд╛ рд╣реВрдВ, рдореИрдВ рдЬрд╛рддрд╛ рд╣реВрдВ 2+ рд╕рдореНрдореЗрд▓рди рдПрдХ рд╡рд░реНрд╖, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рдЖрджрд┐ рдФрд░ рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЗ рдЗрд░рд╛рджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВрдиреЗ рдмрд╛рд░-рдмрд╛рд░ рд╕реБрдирд╛ рд╣реИ "рдпрд╣ рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ" рдФрд░, рдареАрдХ рд╣реА, рд▓реЛрдЧреЛрдВ рдХреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЙрдирдХреЗ рдиреАрдЪреЗ рд╕реЗ рдХреБрд░реНрд╕реА рдЦреАрдВрдЪ рд▓реА рд╣реИред рдореИрдВрдиреЗ ASP.NET Core рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рддрдЪреАрдд рдХреА рд╣реИ рдФрд░ рдХрд╣рд╛ рд╣реИ рдХрд┐ "рдпрд╣ рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ", рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рджреЛрд╖реА рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдИрдЯреАрдЯреА рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдЦреВрди рдмрд╣рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЦрдмрд░реЛрдВ рдХреЛ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдмрджрддрд░ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЦрдмрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЛ рдЙрд▓рдЭрд╛рддреА рд╣реИ, рдЬреЛ рдкреНрд▓рдЧ рдЗрди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╕рдВрднрд╡рддрдГ рдЙрди рдЖрдИрдЯреАрдЯреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд╣реИрдВред

рд╕рдВрдЪрд╛рд░ рдХреА рдХрдореА рдФрд░ рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдХрдореА рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рдордп рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╣реИрдВред .NET рдХреЛрд░ 2 рдЕрднреА рддрдХ RTM'd рднреА рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХрдорд╛рддреНрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдкрде рдорд╛рдирд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдХ рдЯрд┐рдХрд┐рдВрдЧ рдЯрд╛рдЗрдо рдмрдо рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╛рдЗрдЯрд▓реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдареЛрд╕ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдорд╛рд░реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбрд░ рджреВрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдореЗрдВ .NET рдХреЛрд░ 2+ рд╕реЗ net461+ libs рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╕рдордп "рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ" рд╕реЗ рдмреЗрд╣рддрд░ рдЯреВрд▓рд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ "рд╣рдо рд╕рдВрднрд╡рддрдГ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЖрдкрдХреА 461+ рдЕрд╕реЗрдВрдмрд▓реА рднреА!" рдореМрдд рдХреЗ рдШрд╛рдЯ рдЙрддрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рдВрдХрд▓рди-рд╕рдордп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЕрдЧрд░ рд╡реЗ рдореМрдЬреВрдж рд╣реИрдВ рддреЛ рдХреЙрдореНрдкреИрдЯ рдиреБрдкрдХреЗрдЧреНрд╕ рдХрд╛ рд╕реБрдЭрд╛рд╡ рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдКрдкрд░ рдИрдПрдл 6 рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рд┐рд╕реНрдЯрдоред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди ... рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдореБрд╕реНрдХрд╛рди :)ред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рд╕рдм рдХреБрдЫ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рд╡рд┐рддрд░рд┐рдд рд▓реЗрдирджреЗрди рдкрд░рд┐рджреГрд╢реНрдп рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрдард┐рди рд▓рдЧрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрдореНрдореЛ рдиреЗ PlatformNotSupportedException рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдФрд░ netstandard2 рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд▓рдмреНрдз net461 API рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдмрд╕ рдореЗрд░реЗ 2 рд╕реЗрдВрдЯред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рд╕рд┐рд░реНрдл рдУрд╡рд░рд░рд┐рдПрдХреНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЕрдВрддрддрдГ, рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдирд┐рд░рд╛рд╢ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо ASP.NET рдХреЛрд░ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХреБрдЫ рднреА рдЦрдбрд╝рд╛ рд╣реЛред тЭдя╕П

рдкрд╣рд▓реЗ рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЗрд░реА рдЖрд╡рд╛рдЬ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЕрдЧрд▓реЗ рдорд╣реАрдиреЗ рдПрдХ рдирдпрд╛ ASP.NET MVC рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ ASP.NET MVC рдХреЗ рд╕рд╛рде рд╕рд╛рджрд╛ .NET Framework рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд░рд╛рд╣рдХ Microsoft рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдпреЛрдЬрдирд╛ред

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

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

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЧрдардиреЛрдВ рдХреЛ ASP.NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЙрди рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪреЗрд╣рд░рд╛ рдЦреЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рд░реЛрдбрдореИрдк рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдкрдирд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

@davidfowl рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди 99% рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕реЗ "рдпрд╣ рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ" рдФрд░ "рдпрджрд┐ рдЖрдкрдХреЛ рдХрд░рдирд╛ рд╣реИ рддреЛ рдЖрдк рдЗрд╕реЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ" рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рдерд╛ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдерд╛ рдЬреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ, рдФрд░ рдпрд╣ рдареАрдХ рдерд╛ред рдЗрд╕реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рд▓реЛрдЧреЛрдВ рдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИред

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

@DamianEdwards @davidfowl рдпреЛрдЬрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

1.x рдкрд░ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рд╣рдорд╛рд░реЗ рдЕрд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рд░рд╛рд╣рдд рд╣реИ рдФрд░ рдпрд╣ рднреА рдЦрдмрд░ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд┐рд╕рдмреЗрд╕ рдЕрдЧрд▓реА рд╕реВрдЪреА рдореЗрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!

рд╣рдо EF6 рдФрд░ рд╕реНрдерд╛рдирд┐рдХ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо 1.x рдкрд░ рддрдм рддрдХ рдЕрдЯрдХреЗ рд░рд╣реЗрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣ рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рди рд╣реЛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ....

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

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд░рдЦрд╛ рдЬрд╛ рд╕рдХреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрдж рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЬрдм рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдЧрд┐рд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред

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

@shanselman @davidfowl рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ NHibernate рд╣реИред EF Core рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмрд╛рдж рднреА, рдпрд╣ рдЕрднреА рднреА рдПрдХрдорд╛рддреНрд░ рд╕рдмрд╕реЗ рдЙрдиреНрдирдд рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓рд╛ O/R рдореИрдкрд░ рд╣реИред

@shanselman @DamianEdwards рдореИрдВ ASP.NET MVC 4 рд╕реЗ рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ (рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ рдХрд┐ рдпрд╣ 5 рдпрд╛ рдПрдХ рд╣реИ)ред рдореБрдЭреЗ рдЕрднреА рднреА рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рд┐рдВрдХрдлреНрдпреВрдЬрди рдФрд░ рдЯреЗрд▓реАрд░рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рджреЛрдиреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗ рд░рд╣рд╛ рд╣реВрдВред рд╡рд░реНрдб .docx рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдЯреЗрд▓реАрд░рд┐рдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдХрдлреНрдпреВрдЬрдиред рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ "рдЗрд╕реЗ рдЖрдЬрдорд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ"ред рдореИрдВ рдЗрд╕рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдХреЛрдб рдХрд╛ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдХреЛрдб рдмреЗрд╕ рд╣реИред

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

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

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдбреЗрд╡рд▓рдкрд░реНрд╕ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ (рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрдИ рдореЗрдВ рд╕реЗ рдПрдХ)ред рдореБрдЭреЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЗрддрдиреА рдмрдбрд╝реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ .net рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдореБрдЭреЗ рдирд╡реАрдирддрдо рдПрдПрд╕рдкреА.рдиреЗрдЯ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рдирдИ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрджреНрдпрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

...рд╕реНрдЯреАрдлрди

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдХреЛ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЙрдк рдЧреИрдк рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрднреА рднреА рд╕рдВрдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдореИрд╕реЗрдЬ рдХрд┐рдпрд╛ рд╣реИ)ред рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдерд╛, рдЬреЛ рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реИ рдпрджрд┐ рдЖрдк рдорд╛рди рд▓реЗрдВ рдХрд┐ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдВрдЧреАред

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

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

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

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

.net slack рд╕реВрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рдВрд╕рд╛рдзрди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝рд╛ рд╢реЛрд░ рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреА рднрд╛рдЧреАрджрд╛рд░реА рдФрд░ рдкреНрд░рд╢реНрди рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХреЛрдИ рд╕рдорд╛рдЪрд╛рд░ рд╕реНрд░реЛрдд рд╣реИред

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

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

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

рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рд▓рдЧрднрдЧ рд╣рд░ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдиреЗ рдЗрд╕реЗ рдПрдХ рд╕реНрд▓рд╛рдЗрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЛ .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .net рдХреЛрд░ рджреЛрдиреЛрдВ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдмрд╕ рдЗрд╕реЗ рджреЗрдЦреЗрдВ: рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдЗрдЧреНрдирд╛рдЗрдЯ рд╕реЗ Microsoft ASP.NET Core 1.0 рдХреЗ рд╕рд╛рде рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ ред рдХрд░реАрдм 7.50 рдмрдЬреЗ рдЖрдкрдХреЛ рд╕реНрд▓рд╛рдЗрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

рдореЗрд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд╢реЛрд╕реНрдЯреЙрдкрд░реНрд╕ рд╣реИрдВ System.DirectoryServices, ServiceBase, EF6 (EF Core рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ), ClosedXML (рдПрдХреНрд╕реЗрд▓ рд╢реАрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП)ред

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рд╡рд░реНрд╖ (рдЬреБрд▓рд╛рдИ 2019 рддрдХ) рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╕рд╛рд▓рд╛рдирд╛ рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВрдЧреЗ рдФрд░ ASP.NET Core 1.x рдХрд╛ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 12 рдорд╣реАрдиреЗ рдХрд╛ рдиреЛрдЯрд┐рд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдВрдЧреЗ (рдЗрд╕рд▓рд┐рдП рдЬреБрд▓рд╛рдИ 2018 рддрдХ рд╣рдо рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЬреБрд▓рд╛рдИ 2020 рддрдХ рдФрд░ 12 рдорд╣реАрдиреЗ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВ) (рд╕рд╛рдЗрдб рдиреЛрдЯ: рд╣реИ рдХреЛрдИ рдФрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдбрд░ рдЧрдпрд╛ рдХрд┐ рд╣рдо 2020 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд╣реАрдВ? рдареАрдХ рд╣реИ, рдмрд╕ рдореИрдВред)

@DamianEdwards рдШреЛрд╖рдгрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдорд╛рд░реА рдХрдВрдкрдиреА .NET Framework 4.6.2 рдкрд░ ASP.NET Core 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдпрд╣ рд╕реБрдирдХрд░ рдХрд┐ рдЙрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЙрдореНрдмреЛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрдо рд╕реЗ рдХрдо 2019 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рд╕рдВрднрд╡рддрдГ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд 2020 рддрдХ рдПрдХ рдмрдбрд╝реА рд░рд╛рд╣рдд рд╣реИред

рд╣рдо рдЗрд╕ рд╕рд╛рд▓ System.DirectoryServices рдФрд░ System.Drawing рдХреЛ .NET рдХреЛрд░ рдкрд░ рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ (рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди)

рдЕрднреА рд╣рдо .NET Framework рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдпрд╣реА рджреЛ рдХрд╛рд░рдг рд╣реИрдВред рдЕрдЧрд░ рдпреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .NET Core 2 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ ASP.NET Core 2 рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рдкреАрдкреАрдПрд▓ рдиреЗ рдПрдордПрд╕ рдбреЗрд╡рд▓рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░реНрдбрд┐рдирд▓ рдирд┐рдпрдо рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рд╡реА 2 рддрдХ рдХрд┐рд╕реА рднреА рдЙрддреНрдкрд╛рдж/рдХрд╛рдВрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рди рд╣реЛрдВред

рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдЕрдкрдиреЗ рдЙрджреНрдпрдо рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдерд▓рдЧ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдХрд░реЗрдВ! рдПрдордПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдХрд╛рд░рдг рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИред

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

рд▓реЛрд▓рдХреИрдЯреНрд╕

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдирдИ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЖрд╕рд╛рди рдкреНрд░рд╡рд╛рд╕ рдкрде рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core 2.0 рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ net46x рдкрд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдореВрд▓реНрдп рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде ASP.NET Core 2.0 рдФрд░ .NET Core 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рдпрд╣ рдЖрдЬ рдХреЗ рдХрдИ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЕрдЧрд░ ASP.NET Core 2.0 рдХреЛ рд╕рдм рдХреБрдЫ netcoreapp2.0 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдпрд╣ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдордВрджреА рд╣реЛрдЧреА рдФрд░ рд╢рд╛рдпрдж рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЛ рднреА рдЦрд╝рддрд░реЗ рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧреАред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА ASP.NET Core 3.0 рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреЗрд╡рд▓ рдЙрди рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд╕рднреА рдирдП рдЪрдордХрджрд╛рд░ рдЧреНрд░реАрдирдлреАрд▓реНрдб рд╕рд╛рдорд╛рди рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд╛рд╕реНрдЯ рдЯреНрд░реИрдХ рдкрд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

ASP.NET Core (2.0 рдФрд░ 3.0) рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рд╛рде-рд╕рд╛рде рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП)ред рдпрд╣ рдПрдордПрд╕рдПрдлрдЯреА рдХреЛ рд╡рд░реНрддрдорд╛рди рдПрдорд╡реАрд╕реА 5 рд╕реНрдЯреИрдХ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЪрд░рдгрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдорд╡реАрд╕реА рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдПрдорд╡реАрд╕реА 2.0 рд╣реЛрдЧрд╛, рдЬреЛ рдкреВрд░реНрдг .NET рдкрд░ рднреА рдЪрд▓реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдирдИ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рдкреНрд░рд╡рд╛рд╕ рдкрде рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core 2.0 рдкреВрд░реА рддрд░рд╣ рд╕реЗ net46x рдкрд░ рдЪрд▓рдиреЗ рдХрд╛ рдореВрд▓реНрдп рд╣реИ

ASP.NET Core 1.x рд╕реЗ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рдХреНрдпрд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде ASP.NET Core 2.0 рдФрд░ .NET Core 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рдпрд╣ рдЖрдЬ рдХреЗ рдХрдИ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред

рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп .NET Core 2.0 рдФрд░ .NET Standard 2.0 рдореЗрдВ рдХрд┐рдП рдЧрдП рдереЗред ASP.NET Core 2.0 рдореЗрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЗрддрдиреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВред рд╣рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо SignalR рдХреЛ ASP.NET Core 1.x (рдЬреЛ рдХрд┐ рд╡реИрд╕реЗ рднреА 2.0 рдХреЗ рдмрд╛рдж рд╣реИ) рдХреЛ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдзрд╛рд░рдгрд╛ рдХреА рдмрд╛рдд рд╣реИ?

ASP.NET Core (2.0 рдФрд░ 3.0) рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рд╛рде-рд╕рд╛рде рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╣рдо 1.1 рдФрд░ 2.0 рдХреЗ рд╕рд╛рде рдпрд╣реА рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдмрд╕ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдкрд▓рдЯреЗрдВ)ред

рдпрд╣ рдПрдордПрд╕рдПрдлрдЯреА рдХреЛ рд╡рд░реНрддрдорд╛рди рдПрдорд╡реАрд╕реА 5 рд╕реНрдЯреИрдХ рдХреЛ рддреЗрдЬреА рд╕реЗ рдЪрд░рдгрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдорд╡реАрд╕реА рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдПрдорд╡реАрд╕реА 2.0 рд╣реЛрдЧрд╛, рдЬреЛ рдкреВрд░реНрдг .NET рдкрд░ рднреА рдЪрд▓реЗрдЧрд╛ред

рдПрдорд╡реАрд╕реА 5 рдХрднреА рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рд╣рдо рдХреБрдЫ рднреА рдмрд╣рд┐рд╖реНрдХреГрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрдм рддрдХ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ .NET Framework рдореМрдЬреВрдж рд╣реИред рдЖрдк рдЕрднреА рднреА IIS рдПрдХреАрдХреГрдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди (System.Web рдкрд░) рдХреЗ рдЕрдВрджрд░ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ System.Web рдкрд░ MVC 5 рдХреЗ рд╕рдорд╛рди рд╕рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ .

@davidfowl рдХреНрдпрд╛ рдореИрдВ рдПрдХ ASP.NET Core 1.x рдРрдк рдмрдирд╛ рдкрд╛рдКрдВрдЧрд╛, рдЬреЛ рдкреВрд░реНрдг .NET рдФрд░ netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдПрдХ рдореМрдЬреВрджрд╛ рд▓реАрдЧреЗрд╕реА рдРрдк рдХреЛ рдкрд╣рд▓реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХреВрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ net46x рд╣реЛрдВ рдФрд░ рдзреАрд░реЗ-рдзреАрд░реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ netstandard2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ netstandard2.0 рдкрд░ рди рд╣реЛ, рдЬреЛ рддрдм рдореБрдЭреЗ ASP.NET Core 1.x рдРрдк рдХреЛ 2.x рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ (рдФрд░ рдЙрд╕реА рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ net46x рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛)?

рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдзрд╛рдЧреЗ рдХреЛ рдЧрд▓рдд рд╕рдордЭрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдпрд╣реА рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@dustinmoris рд╣рд╛рдБ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЛрдЧреЛрдВ рдХреА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рд╡реЗ ASP.NET Core 1.x рдкрд░ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ ASP.NET Core 2.x рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдпрджрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

@alexwiese рдЖрд╣ рдареАрдХ рд╣реИ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдм рд╣рдо рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ ASP.NET Core 1.x рдХреА рд╕рдорд░реНрдерди рдЕрд╡рдзрд┐ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ MSFT рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ :)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
@DamianEdwards рдиреЗ рдЗрд╕реЗ рдзрд╛рдЧреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ:

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рд╡рд░реНрд╖ (рдЬреБрд▓рд╛рдИ 2019 рддрдХ) рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╕рд╛рд▓рд╛рдирд╛ рдЗрд╕рдХрд╛ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВрдЧреЗ рдФрд░ ASP.NET Core 1.x рдХрд╛ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 12 рдорд╣реАрдиреЗ рдХрд╛ рдиреЛрдЯрд┐рд╕ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдВрдЧреЗ (рдЗрд╕рд▓рд┐рдП рдЬреБрд▓рд╛рдИ 2018 рддрдХ рд╣рдо рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЬреБрд▓рд╛рдИ 2020 рддрдХ рдФрд░ 12 рдорд╣реАрдиреЗ рдмрдврд╝рд╛ рд░рд╣реЗ рд╣реИрдВ) (рд╕рд╛рдЗрдб рдиреЛрдЯ: рд╣реИ рдХреЛрдИ рдФрд░ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдбрд░ рдЧрдпрд╛ рдХрд┐ рд╣рдо 2020 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд╣реАрдВ? рдареАрдХ рд╣реИ, рдмрд╕ рдореИрдВред)

рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рд╕рдорд░реНрдерди рдХреЗ рдПрдХ рдФрд░ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕рдордп-рд╕рдордп рдкрд░ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

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

рддреЛ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ ASP.NET рдХреЛрд░ 2.0 рдХреЛ netstandard2.0 рдкрд░ рдмреНрд▓реЙрдХ рдХрд░ рджрд┐рдпрд╛ рд╣реИ? рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рднреВрдорд┐ рдореЗрдВ рдХреБрдЫ рднреА рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЖ рд╕рдХрддреЗ рдЬреЛ .NET рдкреВрд░реНрдг рдкрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ netstandard20 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рд╣рд╛рдВ, рдЗрд╕рдореЗрдВ рд╕рдордп рдФрд░ рдореЗрд╣рдирдд рд▓рдЧрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рднреА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдирд╣реАрдВ рдерд╛, рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдЙрдиреНрд╣реЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп / рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рдЗрд╕ рдирд┐рд░реНрдгрдп рдХрд╛ рдПрдХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд╣рд▓реВ рд╣реИ: ASP.NET Core рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рдЙрдкрднреЛрдХреНрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЪрд╛рд▓рдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рдПрдХ рдЕрдиреБрдпрд╛рдпреА рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЪреВрдВрдХрд┐ ASP.NET рдХреЛрд░ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдЕрд░реНрде рд╡рд╛рд▓рд╛ рдЕрдиреБрдпрд╛рдпреА: .net core 2.0+ рдХрд╛ API рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рддрд╣ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ ASP.NET рдХреЛрд░ рдЙрд╕ рд╕рддрд╣ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рди рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб2.0.

рдФрд░, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ @davidfowl , рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдорддрд▓рдм рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ ASP.NET рдХреЛрд░ 1.x рдХрд╛ рдмрд╛рд░-рдмрд╛рд░ рд╕реБрдЭрд╛рд╡ рджреЗрдиреЗ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕реБрд░рд╛рдЧ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реБрдЭрд╛рдП рдЧрдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ: рд▓реЛрдЧ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ASP.NET рдХреЛрд░ 1.x рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рд░рд╛рд╕реНрддрд╛ рд╣реИ: рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдЬрд┐рддрдирд╛ рд╡реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ (рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдЖрджрд┐ред)ред Microsoft рдХреЗ 'рд╡рд╛рджреЗ' рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ ASP.NET рдХреЛрд░ 1.xa рдирд┐рд░реНрдгрдп рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдЕрдХреЗрд▓реЗ рд╣реА рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдлреЗрд╕рд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЖрдЬ рднреА рдмрдирд╛рдП рдЧрдП рдРрдк рдХреЛ 3 рд╕рд╛рд▓ рдХреЗ рднреАрддрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЗрд╕рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП)ред

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

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

@FransBouma рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдереА, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░реЗрд░рдгрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдЯреНрд░реИрдХ рд╣реИ рдЬрд┐рд╕реЗ MSFT рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдЪрд╛рд╣реЗрдВ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рд╕рднреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core 2.x рдкрд╣рд▓реЗ .NET рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╡реЗрдм рд╕реНрдЯреИрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдлрд╛рд╕реНрдЯ рдЯреНрд░реЗрди рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдзрд┐рдХ рд╕рдордп рддрдХ ASP.NET Core 1.x рдкрд░ рдмрдиреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2019 рддрдХ рд╕рдорд░реНрдерд┐рдд)

@FransBouma @davidfowl рдФрд░ @shanselman рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ .NET Core рдореЗрдВ рддреЗрдЬ рджрд░ рд╕реЗ рдирдП API рдЬреЛрдбрд╝реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ ASP.NET Core 2.x рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП netcoreapp20 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ред рдЕрдЧрд░ рд╡реЗ рдЗрди рдПрдкреАрдЖрдИ рдХреЛ netstandard2x рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ .NET Framework рдФрд░ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдкрдХрдбрд╝ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╡реЗ рдХреБрдЦреНрдпрд╛рдд рд░реВрдк рд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рдореИрдВ рдмрд╣рд╕ рдХреЗ рдЗрд╕ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рдкрдХреНрд╖ рдкрд░ рдЕрдкрдиреА рдЖрд╡рд╛рдЬ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣рд╛рдБ рдкрд░ рдХреНрдпреЛрдВ:

  • рдЯреАрдо рд╕рд┐рд░реНрдл рдЗрд╕рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИред .NET рдХреЛрд░ рдореЗрдВ рд░реЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рди рддреИрдпрд╛рд░ (рдпрд╛ рд▓рдЧрднрдЧ рддреИрдпрд╛рд░) рд╣реИрдВ рдЬреЛ рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдПрдкреАрдЖрдИ рдФрд░ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рдФрд░ рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдкреВрд░реНрдг рд╡рд┐рдВрдбреЛрдЬ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЖрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХрдИ рдорд╣реАрдиреЛрдВ рддрдХ рд░рд┐рд▓реАрдЬ рдореЗрдВ рджреЗрд░реА рд╣реЛрдЧреАред
  • рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдореБрдЭреЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╢рд┐рдХрд╛рдпрддреЗрдВ "рдореИрдВ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдХреА рдХреБрдЫ рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реИрдВ, рдЬрдм рд▓реЗрдЦрдХ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорддрд▓рдм рд╣реИ _ "рдореБрдЭреЗ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛" _. рд╣рд╛рдВ, рдЖрдкрдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдирд╣реАрдВ, рдпрд╣ рдХреЛрдИ рдмреБрд░реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ ASP.NET MVC рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрд╕рддрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ PDF рдпрд╛ DOCX рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк _really_ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?), рддреЛ рдЙрд╕реЗ рддреЛрдбрд╝ рджреЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рдкреВрд░реНрдг .NET рдкрд░ рдЪрд▓ рд░рд╣реЗ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ .NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдПрдХ HTTP рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЫреЛрдЯреА, рд╕реНрд╡-рдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, _рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИред_

    • рдПрдирдмреА рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдУрдкрдирдПрдХреНрд╕рдПрдордПрд▓ рдкреИрдХреЗрдЬ рдЕрдм .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд░реНрдб/рдПрдХреНрд╕реЗрд▓/рдЬреЛ рдХреБрдЫ рднреА рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред

  • .NET Core 2.0 рдЕрднреА рддрдХ рдЙрдЪрд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд┐рдХрд╛рдпрдд рд╣реИ рдХрд┐ рдЗрд╕реЗ LDAP рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд▓рдЧрддрд╛ рд╣реИ, рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ RTM Q3 рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ AD рдпрд╛ Kerberos рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдлрд┐рд░ рдЬреЛ рдХреБрдЫ рднреА рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдзреБрдирд┐рдХ рдЯреЛрдХрди-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реЛрдЪреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм 2008 рдирд╣реАрдВ рд╣реИ)ред
  • рд╡рд╣рд╛рдБ _is_ ASP.NET MVC 4.5 рд╕реЗ ASP.NET Core 2.0 рдореЗрдВ рдПрдХ рд╕рд╣рдЬ рдкреНрд░рд╡рд╛рд╕рди рд╣реИред рдЗрд╕реЗ ASP.NET Core 1.0 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ 1.0 рдХреЗ рд▓рд┐рдП рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдХрд╛ рдХреБрдЫ рд╡рд╛рджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдЖрдк 1.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрдкреНрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ Windows Server 2012 R2 рдкрд░ IIS 8.5 рдХреЗ рддрд╣рдд рдПрдХ рдПрдХреАрдХреГрдд рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдкреВрд░реНрдг .NET рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

    • рдкреВрд░реНрдг .NET рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЙрд╕ рдкрд░ ASP.NET Core 2.x рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛

    • рдЖрдк рдЬреЛ рднреА рддреГрддреАрдп-рдкрдХреНрд╖ рддрдХрдиреАрдХ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рд╡рд╣ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдпрд╛ рд╕рдордХрдХреНрд╖ рддрдХрдиреАрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред

  • рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐тАФрдЬрдмрдХрд┐ рдЖрдкрдХреА рдЯреАрдо рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдпрд╛ рдХрдВрдкрдиреА рдХреА рдЖрдВрддрд░рд┐рдХ рдиреАрддрд┐рдпреЛрдВ рдпрд╛ рд░рд╛рдЬрдиреАрддрд┐ рдпрд╛ рд╕реАрдзреЗ-рд╕реАрдзреЗ рдЬрдбрд╝рддрд╛ рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИтАФрджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ, рдпрджрд┐ рд▓рд╛рдЦреЛрдВ рдирд╣реАрдВ, рддреЛ рдРрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдкреИрдЯрд░реНрди рдФрд░ рдирдП рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдХреНрд▓рд╛рдЙрдб/рдПрдЬ/рдЖрдИрдУрдЯреА/рдЖрджрд┐), рдЬрд┐рдирдХреЗ рд▓рд┐рдП ASP.NET Core 2.0 рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддреЗрдЬрд╝, рд╕реНрдХреЗрд▓реЗрдмрд▓ рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛ; рд╡реЗ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред Microsoft рд╕реЗ рдЙрд╕ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддреЗ рдмрд╛рдЬрд╛рд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рдпрдВрддреНрд░рдг рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдпрд╛ рдХрд┐рд╕реА рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗ рдЕрднреА рддрдХ рдЕрдкрдирд╛ рдХреЛрдб рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИред

@dustinmoris рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рддреЗрдЬрд╝ рд╡реЗрдмрд╕реНрдЯреИрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреА рдХрдореА рд╣реИред рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рднреА рдХреЛ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВред

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

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ asp.net рдХреЛрд░ рдЯреАрдо рдХреЛ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреА рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╡реЗ asp.net core 1.x рдореЗрдВ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред

@FransBouma рдЖрдкрдХреЛ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдмреЗрд╣рддрд░ рдЕрдВрджрд╛рдЬрд╛ рд╣реИ рдХрд┐ Microsoft рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Microsoft рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Microsoft рдХреЗ рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@markrendle

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

рддреЛ, рдореБрдЭреЗ рдмрддрд╛рдПрдВ, рдХреНрдпреЛрдВ рди рдЗрди рд╕реБрдкрд░ рдбреБрдкрд░ рдПрдкреАрдЖрдИ рдХреЛ .net рдорд╛рдирдХ 2.0 рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирдЧреЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдЖрдкрдХреЛ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ Microsoft рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Microsoft рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Microsoft рдХреЗ рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдУрд╣, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдкреЛрд╕реНрдЯ рдкрдврд╝рдХрд░?

@FransBouma

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

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

рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ ASP.NET Core 2.x netstandard2.0 (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдЪреНрдЪрддрдо) рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдпрд╣ рдЬрд╛рди рд▓реЗрдВ рдХрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдпрд╛ рдХреЗрд╡рд▓ ASP.NET Core 2.x рдХрд░рддрд╛ рд╣реИред netcoreapp2.x рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ, рдЬреЛ рдХрд┐ рдХреЗрд╡рд▓ netstandard2.0 рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдлрд┐рд░ рд╕реЗ (3.x?) рд╣реЛрдЧрд╛ рдЬреЛ рдиреЗрдЯрдХреЛрд░рдПрдк рд╕реЗ рдирдИ рдЪрдордХрджрд╛рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдФрд░ рдзреАрдореА рдкреНрд░рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рднреА рдПрдПрд╕рдкреАрдиреЗрдЯ рдврд╛рдВрдЪреЗ рдХреЛ рдЕрдкрдВрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП . рдПрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ ASP.NET рдХреЛрд░ рд╕реНрдЯреИрдХ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдПрдХ рджреВрд╕рд░рд╛ рднреА рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рджреЗрддрд╛ рд╣реИ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред

@FransBouma рдУрд╣, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХрд╛ рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдерд╛ред 257 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдПрдХ рдордЬрдмреВрдд рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рд╣реИрдВ рдЬреЛ рдирд┐рд░реНрдгрдп рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВ рдмрд┐рдЧ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВред

@davidfowl :

рдЗрд╕ рдкреВрд░реЗ рдзрд╛рдЧреЗ рдореЗрдВ, рдЖрдкрдиреЗ System.DirectoryServices рдХреЛ рдореБрдЦреНрдп рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрддрд╛рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд░реНрдЯ рд╣реЛрдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рдпрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ 2.0 рд╕рдорд░реНрдерд┐рдд .NET Framework рд╣реИ рддреЛ рдХреНрдпрд╛ рд╡реЗ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреА?

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

рдЬреЛ рд▓реЛрдЧ?

рд░реЗрдЬрд░ рдкреЗрдЬ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рдореБрдЭреЗ stackoverflow.com рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рддреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдореИрдВ "рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдПрдВ" рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛) рддрд╛рдХрд┐ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

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

рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕рдордЭрд╛рдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╣реИ:

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

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

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдЕрдВрджрд╛рдЬрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдПрдкреАрдЖрдИ рдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рд▓рд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реА рджрд┐рдЦ рд╕рдХрддреА рд╣реИред @terrajobst рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдмреЗрд╣рддрд░ рдЕрдВрджрд╛рдЬрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпреЛрдЬрдирд╛ рдХреНрдпрд╛ рд╣реИред

@DamianEdwards рдФрд░ @shanselman рд╕рд░реНрд╡рд┐рд╕ рдлреИрдмреНрд░рд┐рдХ рдФрд░ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реЗ рдПрд╕рдПрдл рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝реА рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬреЛ рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.5 рд╕реЗ 4.6 рддрдХ (рдХреБрдЫ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред SF рд╡рд░реНрддрдорд╛рди рдореЗрдВ netcoreapp рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ .Net Framework рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдо рдкреАрдЫреЗ рдирд╣реАрдВ рд╣рдЯрдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ .Net Core рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

(рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рд╣реИ) рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛рдПрдВ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИрдВ рдФрд░ рдиреЗрдЯрдХреЛрд░рдПрдк рдХреЗ рд▓рд┐рдП рдПрдордПрд╕ рдлреЗрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рд╕рднреА рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ (рдпрд╛ рдореБрдЭреЗ рд╡рд┐рд░рд╛рд╕рдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВред рд╣рдорд╛рд░реЗ рд▓рдЧрднрдЧ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 1.0 рд╕реЗ 1.6 рдкрд░ рд╣реИрдВред

рдлрд┐рд░ рд╕реЗ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдРрдкреНрд╕ рдЬрд╝реИрдорд░рд┐рди рдлреЙрд░реНрдореНрд╕ + рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдо рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдХрд╛рдо рд╕рдВрдЧрдд рд╣реЛрдВред

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдлрдВрд╕ рдЧрдП рд╣реИрдВ рдФрд░ .Net Core 2.0 рдФрд░ netcoreapp2.0 рдФрд░ netstandard 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ?

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рд░реЗрдЬрд░ рдкреЗрдЬ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

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

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

рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

@рдПрдХ рдмреВ

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдлрдВрд╕ рдЧрдП рд╣реИрдВ рдФрд░ .Net Core 2.0 рдФрд░ netcoreapp2.0 рдФрд░ netstandard 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ?

рдЖрдкрдХрд╛ рдорддрд▓рдм ASP.NET Core 2.0 рдФрд░? .NET рдХреЛрд░ 2.0 рдФрд░ .NET рдорд╛рдирдХ 2.0 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рд╣рд╛рдВ, рдЖрдкрдХреЛ ASP.NET Core 1.x рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред

рдЪреАрдЬреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп .NET Core 2.0 рдФрд░ .NET Standard 2.0 рдореЗрдВ рдХрд┐рдП рдЧрдП рдереЗред ASP.NET Core 2.0 рдореЗрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЗрддрдиреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВред рд╣рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо SignalR рдХреЛ ASP.NET Core 1.x (рдЬреЛ рдХрд┐ рд╡реИрд╕реЗ рднреА 2.0 рдХреЗ рдмрд╛рдж рд╣реИ) рдХреЛ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдзрд╛рд░рдгрд╛ рдХреА рдмрд╛рдд рд╣реИ?

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрд╕ рдбрд░ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджрд┐рд▓ рдкрд░ рд╣рдорд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдмрддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред _рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ_ рдЬрдм рдирдП рд╕реНрдЯреИрдХ рдиреЗ рдкреБрд░рд╛рдиреЗ рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рде рдлреАрдЪрд░ рд╕рдорд╛рдирддрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЕрдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрдм рд╣реЛрдЧрд╛ред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдХреЗ EOL-ing рдХреА рдШреЛрд╖рдгрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдФрд░, рдЬрдмрдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдереА, рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЯрд┐рдХ рд╕рдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдмреЛрд▓рддреЗ рд╣реА рд░реЛрдбрдореИрдк рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдмреИрдардХреЗрдВ рд╣реЛрдВрдЧреАред

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

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

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

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

рдПрдорд╡реАрд╕реА 5 рдХрднреА рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рд╣рдо рдХреБрдЫ рднреА рдмрд╣рд┐рд╖реНрдХреГрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрдм рддрдХ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛ рдЬрдм рддрдХ .NET Framework рдореМрдЬреВрдж рд╣реИред

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

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

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЖрдк рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (рдирдпрд╛) рдХреЛ рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВ? рдЬреЛ рдХреБрдЫ рднреА рд╣реИ, рдкреЛрд╕реНрдЯ рд╕реЗ рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб vNext рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

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

рдЗрдирдХреЗ рдЦрд┐рд▓рд╛рдл рднреА рдХреЛрдИ рдЗрди рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реА рд╢рд┐рдХрд╛рдпрддреЗрдВ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВ, рди рдХрд┐ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдореБрдЭреЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╢рд┐рдХрд╛рдпрддреЗрдВ "рдореИрдВ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдХреА рдХреБрдЫ рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реИрдВ, рдЬрдм рд▓реЗрдЦрдХ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ "рдореБрдЭреЗ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛"ред рд╣рд╛рдВ, рдЖрдкрдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдирд╣реАрдВ, рдпрд╣ рдХреЛрдИ рдмреБрд░реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ ASP.NET MVC рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрд╕рддрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ PDF рдпрд╛ DOCX рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?), рддреЛ рдЙрд╕реЗ рддреЛрдбрд╝ рджреЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рдкреВрд░реНрдг .NET рдкрд░ рдЪрд▓ рд░рд╣реЗ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ .NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдПрдХ HTTP рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЫреЛрдЯреА, рд╕реНрд╡-рдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИред

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

.NET Core 2.0 рдЕрднреА рддрдХ рдЙрдЪрд┐рдд рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд┐рдХрд╛рдпрдд рд╣реИ рдХрд┐ рдЗрд╕реЗ LDAP рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд▓рдЧрддрд╛ рд╣реИ, рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ RTM Q3 рдореЗрдВ рдЖрддрд╛ рд╣реИ рдФрд░ AD рдпрд╛ Kerberos рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдлрд┐рд░ рдЬреЛ рдХреБрдЫ рднреА рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдзреБрдирд┐рдХ рдЯреЛрдХрди-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╕реЛрдЪреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдм 2008 рдирд╣реАрдВ рд╣реИ)ред

рд╣рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рд╕реНрдЯреИрдВрдб рдЕрдк рджреЗрдЦреЗрдВред рдпрд╛ рдЧрд┐рдЯрд╣рдм рдХреЛ рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ рдЗрд╕реЗ "рднрд╡рд┐рд╖реНрдп" рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдЕрднреА рд╢рд┐рдХрд╛рдпрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧрд▓рдд рдирд┐рд░реНрдгрдп Q3 рдореЗрдВ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

ASP.NET MVC 4.5 рд╕реЗ ASP.NET Core 2.0 рдореЗрдВ рдПрдХ рд╕рд╣рдЬ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реИред рдЗрд╕реЗ ASP.NET Core 1.0 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ 1.0 рдХреЗ рд▓рд┐рдП рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдХрд╛ рдХреБрдЫ рд╡рд╛рджрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореГрдд рдЕрдВрдд рдирд╣реАрдВ рд╣реИред рд╣рдо рдЕрднреА рднреА рдЖрд╕рд╛рдиреА рд╕реЗ 1.x рдкрд░ рдлрдВрд╕реЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рдЬреАрд╡рди рдХрд╛ рдЕрдВрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдореЗрдВ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд╕рдорд░реНрдерди рдорд┐рд▓рддрд╛ред

рдкреВрд░реНрдг .NET рдкрдХрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЙрд╕ рдкрд░ ASP.NET Core 2.x рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ

рдпрд╣ netcoreapp рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

...рдпрд╛ рдЬреЛ рднреА рддреГрддреАрдп-рдкрдХреНрд╖ рддрдХрдиреАрдХ рдЖрдк .NET рдХреЛрд░ рдХреЗ рд╕рдорд░реНрдерди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рд╕рдордХрдХреНрд╖ рддрдХрдиреАрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ)ред

рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдХреНрд╕рд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рд╕рдордп рдХреЗ рдмрдЬрдЯ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рднреА рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ред рдореИрдВ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА SQL рдЯреАрдо рд╕реЗ рд▓рдбрд╝ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ install.ps1 рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЙрди рд╕рд░рд▓ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рднреА рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо netstandard рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдЦрд░рд╛рдм рд╣реЛ рдЧрдП рд╣реИрдВред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐тАФрдЬрдмрдХрд┐ рдЖрдкрдХреА рдЯреАрдо рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдпрд╛ рдХрдВрдкрдиреА рдХреА рдЖрдВрддрд░рд┐рдХ рдиреАрддрд┐рдпреЛрдВ рдпрд╛ рд░рд╛рдЬрдиреАрддрд┐ рдпрд╛ рд╕реАрдзреЗ-рд╕реАрдзреЗ рдЬрдбрд╝рддрд╛ рд╕реЗ рдмрд╛рдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИтАФрджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ, рдпрджрд┐ рд▓рд╛рдЦреЛрдВ рдирд╣реАрдВ, рддреЛ рдРрд╕реЗ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдкреИрдЯрд░реНрди рдФрд░ рдирдП рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдХреНрд▓рд╛рдЙрдб/рдПрдЬ/рдЖрдИрдУрдЯреА/рдЖрджрд┐), рдЬрд┐рдирдХреЗ рд▓рд┐рдП ASP.NET Core 2.0 рдмрд╣реБрдд рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддреЗрдЬрд╝, рд╕реНрдХреЗрд▓реЗрдмрд▓ рдФрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛ; рд╡реЗ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред Microsoft рд╕реЗ рдЙрд╕ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддреЗ рдмрд╛рдЬрд╛рд░ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рдпрдВрддреНрд░рдг рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛ рдпрд╛ рдХрд┐рд╕реА рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдиреЗ рдЕрднреА рддрдХ рдЕрдкрдирд╛ рдХреЛрдб рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИред

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

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

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

рдореИрдВ рдирдП рдПрд╕рдбреАрдХреЗ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдореИрдХреЛрдЬрд╝ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЗрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рд╢рд╛рдорд┐рд▓ рд╣реЛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ .NET рдорд╛рдирдХ / .NET рдХреЛрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред .

рдореЗрд░рд╛ рдмрдбрд╝рд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рдмрдбрд╝реА рдЙрджреНрдпрдо рд╡реЗрдм рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЙрди рдШрдЯрдХреЛрдВ рдХреЗ рдвреЗрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдЬреЛ [рдЕрднреА рддрдХ] .NET Core 1.0 рдпрд╛ 1.1 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдмрд╕ рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ:

  • рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ ( System.DirectoryServices ), рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИ
  • рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ 6 ( EntityFramework ), рдХреНрдпреЛрдВрдХрд┐ рдИрдПрдл рдХреЛрд░ рдЕрднреА рддрдХ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • OData ( Microsoft.Data.Services / System.Data.Services ) v1-3, рдХреНрд▓рд╛рдЗрдВрдЯ Javascript рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ v4 (рдЕрднреА рддрдХ) рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдФрд░ WebAPI OData рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
  • IIS рдкреНрд░рдмрдВрдзрди ( System.Web.Management ) рдФрд░ .NET Remoting ( System.Runtime.Remoting ) рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреА рдЦреБрдж рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • Signalr
  • рдХрд╕реНрдЯрдо IHttpHandler s рдФрд░ IHttpModule s, рдЬрд┐рд╕реЗ ASP.NET Core рдХреЗ рд╕рдордХрдХреНрд╖ рдЬреЛ рдХреБрдЫ рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╢рд╛рдпрдж рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд┐рдбрд▓рд╡реЗрдпрд░
  • ASP.NET WebAPI рдХреА рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╕реНрдЯрдо рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕рдореВрд╣ред
  • рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ Microsoft.TeamFoundationServer.ExtendedClient рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ net46 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдореВрд▓ рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ, рдФрд░ .NET Core 2.0 рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд▓рдЧрднрдЧ 0% рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
  • рдЖрджрд┐ред

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

ASP.NET Core рдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ ASP.NET Core 1.x рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдХрджрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдмрд┐рдЧ-рдмреИрдВрдЧ рд╕реНрдЯрд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо "рдирдП рд░рдирдЯрд╛рдЗрдо рдкрд░ рдирдП рдврд╛рдВрдЪреЗ рдХреЛ рдЪрд▓рд╛рдиреЗ" рд╕реЗ рдкрд╣рд▓реЗ "рдкреБрд░рд╛рдиреЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдирдП рдврд╛рдВрдЪреЗ рдХреЛ рдЪрд▓рд╛рдиреЗ" рдХреЗ рдЪрд░рдг рдХреЛ рддреБрд░рдВрдд рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рднрдпрд╛рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди-рдкреНрд░рдмрдВрдзрди рд░рдгрдиреАрддрд┐ рд╣реИред

рдЕрдЧрд░ .NET Framework рд╕рдорд░реНрдерди рдПрдХ рдмрд╛рд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдореБрдЭреЗ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред NET рдХреЛрд░ рд╕рдорддрд╛ рдкрд░ рдпрд╛ рдирд┐рдХрдЯ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХрд┐рд╕реА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдЙрдиреНрдирдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкреАрдЫреЗ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ 2.0 рдРрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИ рдПрдХ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрдиред

@davidfowl

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

рдРрдкреНрд╕ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрджрд┐ рдпрд╣рд╛рдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВред рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ (рдореБрдЦреНрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╣реА рдРрдк рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдВрдкрдиреА рдХреЗ рд░реВрдк рдореЗрдВ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╕рдВрдмрдВрдзрд┐рдд, рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЗрдВ рд╣реИрдВред

рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдмрдврд╝рд╛рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдо рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

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

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

рд╕рд┐рд░реНрдл рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП: рдУрдбрд╛рдЯрд╛ рдПрдХ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рдиреЗрдЯрдХреЛрд░рдПрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЕрднреА рднреА System.Web рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ (рдЖрдкрдХреЛ ASP.NET рдХреЛрд░ рдореЗрдВ OWIN рдорд┐рдбрд▓рд╡реЗрдпрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛) рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдорд░реНрдерди рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ (рджреЗрдЦреЗрдВ https://github.com/OData/WebApi/issues/939)ред

рдЕрднреА рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: @ рдпрд╛рдХреЛрд╡-рдПрдЪ 2 рдорд┐рдирдЯ рддреЗрдЬ рдерд╛, рдЗрд╕рд▓рд┐рдП рдУрдбрд╛рдЯрд╛ рдХреЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд┐рдП +1

рдореИрдВ рдЕрднреА рднреА рдпрд╣рд╛рдБ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЙрддреНрддрд░ рджреЗ рд░рд╣рд╛ рд╣реВрдБ

  • рдореБрдЭреЗ
  • рдиреАрдВрдж рдХрдордЬреЛрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ
  • рдореБрдЭреЗ FUD рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХреЛрдИ рдЧрд▓рдд рд╣реИ

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рдРрдкреНрд╕ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрджрд┐ рдпрд╣рд╛рдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВред рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ (рдореБрдЦреНрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╣реА рдРрдк рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдВрдкрдиреА рдХреЗ рд░реВрдк рдореЗрдВ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╕рдВрдмрдВрдзрд┐рдд, рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЗрдВ рд╣реИрдВред

рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд░реЗрдЬрд░ рдкреЗрдЬ tbh рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, ASP.NET Core 2.0 рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдпрд╛ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ 1.x рдкрд░ рд╡рд╛рдкрд╕ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдИрдУрдПрд▓ рдмрд╛рдд рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ ASP.NET Core 2.0 рдПрдХ рдФрд░ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рджрд┐рд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдирд╣реАрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред

@dustinmoris рд╕рд┐рд░реНрдл рдпрд╣реА рдирд╣реАрдВ рд╣реИред рдЙрдореНрдореАрдж рдХреА рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИред рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдЕрдиреНрдп рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ aspnetcore 1.* рдРрдкреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд░реВрдк рдореЗрдВ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдХреЗ рд▓рд┐рдП LOB)ред

рдФрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ .net рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо, рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб, рдЖрджрд┐ рдХреЗ рдмреАрдЪ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ (рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЧрд▓рддрдлрд╣рдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рд╣реИ)

рдореЗрд░рд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрд╣рд▓реЗ рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ (.рдиреЗрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛) рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рд╡рд╛рд╣/рджреГрд╖реНрдЯрд┐/рдЖрджрд┐, рдЗрд╕реЗ рд╕рдореЗрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ .net рдХреЛрд░ (рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ) рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдПрд╕реНрдкрдиреЗрдЯрдХреЛрд░ рдкрд╕рдВрдж рдореЗрдВ рдирд┐рд░реНрдгрд╛рдпрдХ рдкрд░рд┐рджреГрд╢реНрдп рдерд╛ред

рдпрд╣ рдореБрджреНрджрд╛ рдереЛрдбрд╝рд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ aspnetcore 1.* рдХреЛ рд╣рдореЗрд╢рд╛ "рджреЛрдиреЛрдВ рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рдПрдВ" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдкрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╢реВрдиреНрдп рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдЧрд▓реЗ (рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рд╡рд░реНрд╖) рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рдореИрдВ рдПрдХ рдЕрдкреНрд░рдЪрд▓рд┐рдд -> рдкрджрд╛рд╡рдирдд рдЪрдХреНрд░ рдХрдо рд╕реЗ рдХрдо, рдпрд╛ рд╕рд┐рд░реНрдл рдЕрд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ (рдпрд╣ рдареАрдХ рд╣реИ) рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ред

.net (рдФрд░ рд╡реЗрдм рд╕реНрдЯреИрдХ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ aspnet) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдореМрдЬреВрджрд╛ рдХреЛрдбрдмреЗрд╕ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВред
рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рд╣реИрдВ, рдЬрдм рд▓рдХреНрд╖реНрдп (.net core/netstandard) рдмрд╣реБрдд рдЕрдзрд┐рдХ рддрд░рд▓ рд╣реЛ, рддреЛ рдЗрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд░рдУрдЖрдИ рдирд╣реАрдВ рд╣реИред
рдХреБрдЫ рдмрд╛рд╣рд░реА рд╣реИрдВ, рдФрд░ рдмрджрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдЕрдЧрд░ рдпреЗ netcoreapp2 рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рд╕рд╛рде рд╣реА рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ netstandard2 рдирд╣реАрдВ netcoreapp2 рдХреЗ рд▓рд┐рдП рд╕рдореЗрдХрд┐рдд рдерд╛ред
рдЕрдЧрд░ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ рддреЛ рдореИрдВ libs рдХреЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдмрд┐рдЯреНрд╕ рдФрд░ рд╡рд╛рджреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рдФрд░ рдирд╡реАрдирддрдо рд╡рд░реНрд╖реЛрдВ рдиреЗ рд╡рд╛рджреЛрдВ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдкрд░ рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрдо рдХрд┐рдпрд╛ рд╣реИ)

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

рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ, рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, .net рдХреЛрд░ рдФрд░/рдпрд╛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд┐рдм рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдПрдЯреАрдПрдо рдмрд╣реБрдд рдХрдо рд╣реИ (рд╣рд░ рдХреЛрдИ рд╕рд┐рд░реНрдл рдореБрдлреНрдд nuget.org oss pkgs рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рддреЛ рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рдирдП рдвреЗрд░ рдореЗрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдореБрдЭреЗ рдЕрдиреНрдп рдвреЗрд░ (рд▓рд╛рдЧрдд/рд▓рд╛рдн/рднрд╡рд┐рд╖реНрдп/рд╡рд┐рд╢реНрд╡рд╛рд╕/рдЖрджрд┐) рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ TODO рд╡реЗрдм рдРрдк рдирд╣реАрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ .NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд░реНрд╖реЛрдВ рдХрд╛ рд╕рд╛рдорд╛рди рддреИрдпрд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдЪреАрдЬ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ aspnetcore, рдФрд░ рдмрд╛рдХреА рдХреЛ рдЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдВ)ред
рдмрд╕ рд╕рдм рдХреБрдЫ рдмрджрд▓реЗрдВ рдореЗрд░реЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЖрдкрджрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ рд╣реИ, рдФрд░ рдЬрдм рдореБрдЭреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдЯреИрдХ (рдЬрд╛рд╡рд╛/рдиреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ) рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╣реЛ, рдЬрд╣рд╛рдВ lib рдореМрдЬреВрдж рд╣реИред

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

рдЙрд╕ рдиреЗ рдХрд╣рд╛, .net рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджреЗрдВ, рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рдЕрдзрд┐рдХ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕реНрдкрдиреЗрдЯ рдЯреАрдо рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреБрдЖ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛ рдиреЛрдб/рдЬрд╛рд╡рд╛ рдореЗрдВ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рди рдЦреЛрдПрдВ)ред
рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдзреАрдореА рд░рд┐рдВрдЧ рдкрд░ рджреЗрд╡ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХрдард┐рди рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рдПрд╕реНрдкрдиреЗрдЯ рдЯреАрдо рдХреЙрд▓ (рдЙрдирдХрд╛ рдЙрддреНрдкрд╛рдж) рд╣реИред
рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рди рдХрд░реЗрдВ, рдФрд░ fw рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рджреЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ .net рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╣реБрдд рддрд░рд▓ рд╣реИ (рди рдХреЗрд╡рд▓ netcore/project.json, рдмрд▓реНрдХрд┐ рдкрд╣рд▓реЗ рднреА, рдФрд░ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ/рдЗрдВрдЬреАрд▓рд╡рд╛рджреА рдиреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХреА)

@рдпрд╛рдХреЛрд╡-рд╣реЛ

рдпрджрд┐ рдЖрдк ASP.NET рдХреЛрд░ (рдпрд╛ рддреЛ 1.x рдпрд╛ 2.x) рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджреВрд╕рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред ASP.NET Core System.Web рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдк рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреНрд░рдорд┐рдХ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдЕрдЧрд░ .NET Framework рд╕рдорд░реНрдерди рдПрдХ рдмрд╛рд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдореБрдЭреЗ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд▓рдЧреЗрдЧрд╛ред NET рдХреЛрд░ рд╕рдорддрд╛ рдкрд░ рдпрд╛ рдирд┐рдХрдЯ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХрд┐рд╕реА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдЙрдиреНрдирдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдкреАрдЫреЗ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ 2.0 рдРрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рд╣реИ рдПрдХ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрдиред

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

@davidfowl рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░реА рдЕрдкрд╕реНрдЯреНрд░реАрдо рдирд┐рд░реНрднрд░рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп, рд╣рдо рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП .NET Framework рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред

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

@NickCraver рдореЗрд░рд╛ рдорддрд▓рдм рдЕрдкрдорд╛рди рдпрд╛ рдЕрдкрдорд╛рди рдХрд░рдиреЗ рдХрд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рджреЗрд░ рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рд╕рдореБрджрд╛рдп рдХрд╛ рдЬреЛ рднреА рд╡рд░реНрдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдирд┐рд░рд╛рд╢рд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдореИрдВ рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛, рддреЛ рд╢рд╛рдпрдж рдореИрдВ рднреА рд╣рдВрдЧрд╛рдорд╛ рдЦрдбрд╝рд╛ рдХрд░ рджреЗрддрд╛ред рдореИрдВ рдирд╣реАрдВ рд╣реВрдВ (рдЬрд╣рд╛рдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рд╣рдо рдЕрднреА рднреА ASP.NET WebAPI 5.2.3 рдкрд░ рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рдкрд░ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдХрдо рднрд╛рд╡рдирд╛рддреНрдордХ рд╣реИред

рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджреЗрдЦреЗрдВ: рдпрджрд┐ рдЖрдк рдЖрдЬ рдЕрдЧрд▓реЗ рд╕реНрдЯреИрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ (рдЬреЛ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╡рд╣ рд╕рд╛рдорд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ netcoreapp20 рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ ASP.NET рдХреЛрд░ рдЯреАрдо рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреА рд╣реИ ( рдЬреИрд╕реЗ UTF8Strings рдФрд░ Pipelines рдФрд░ рдирд┐рдореНрди-рдЖрд╡рдВрдЯрди, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ, _fast_ рдЖрджрд┐рдо (рдореИрдВ рд╡рд╣рд╛рдБ рдереЛрдбрд╝рд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдБ)) рдЗрд╕реЗ рдкреВрд░реНрдг .NET рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдмрдирд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ .NET Core 2.0 рдЖрдо рддреМрд░ рдкрд░ рдкреВрд░реНрдг .NET 4.7.1 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ? рдпрджрд┐ рдЖрдк рдЙрди рд╡реЗрдм рд╕реНрдЯреИрдХ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░ рд░рд╣реЗ рдереЗ рдЬреЛ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдмрдирд╛рдо рд╡реЗрдм рд╕реНрдЯреИрдХ рдЬреЛ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рджреЛ рджрд╢рдХреЛрдВ рдХреЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХреЗ рд╕рд╛рде рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рддрдХрдиреАрдХ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд┐рд╕реЗ рдЪреБрдиреЗрдВрдЧреЗ?

@ZigMeowNyan

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

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

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

рд╣рдо рд╡рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛рдж рд░рдЦреЗрдВ, рд╣рдо рдЕрднреА рднреА рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ ifdefs рд╣реЛрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдиреНрдп, 2.x рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

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

рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ (рдпрд╣ рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ), рдХреНрдпрд╛ рдЖрдк рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ ASP.NET рдХреЛрд░ рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

рдмрд╕ рдПрдХ рдФрд░ рддреНрд╡рд░рд┐рдд рд╡рд┐рдЪрд╛рд░: рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдзрд╛рдЧреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдорд╛рди-рд▓реЗрдХрд┐рди-рд╡рд┐рдкрд░реАрдд рдзрд╛рдЧрд╛ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдЕрд▓рдЧ-рд▓реЗрдХрд┐рди рдЙрддрдирд╛ рд╣реА рдмрдбрд╝рд╛-рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдореВрд╣ рдЙрддрдирд╛ рд╣реА рдкрд░реЗрд╢рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдкреБрд░рд╛рдиреЗ" .NET рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рд░рд┐рдпрд╛рдпрдд рджреА рдЧрдИ рдереАред

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

рдореИрдВ

@markrendle

тАв рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдореБрдЭреЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рдХрдИ рд╢рд┐рдХрд╛рдпрддреЗрдВ "рдореИрдВ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛" рдХреА рдХреБрдЫ рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реИрдВ, рдЬрдм рд▓реЗрдЦрдХ рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ "рдореБрдЭреЗ .NET рдХреЛрд░ 2.0 рдореЗрдВ рдПрдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛" . рд╣рд╛рдВ, рдЖрдкрдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдирд╣реАрдВ, рдпрд╣ рдХреЛрдИ рдмреБрд░реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ ASP.NET MVC рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрд╕рддрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ PDF рдпрд╛ DOCX рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ (рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ?), рддреЛ рдЙрд╕реЗ рддреЛрдбрд╝ рджреЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ рдкрд░ рдкреВрд░реНрдг .NET рдкрд░ рдЪрд▓ рд░рд╣реЗ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ .NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдПрдХ HTTP рдПрдкреАрдЖрдИ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░реЗрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЫреЛрдЯреА, рд╕реНрд╡-рдирд┐рд╣рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИред
NB рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдБ, OpenXML рдкреИрдХреЗрдЬ рдЕрдм .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП Word/Excel/рдЬреЛ рднреА рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред<<

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

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

.net рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп ASP.net рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдФрд░ рдореЗрд░реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ASP.Net рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдореИрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореЗрд░реА рдирд╛рд╡ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╕реНрдЯреАрдлрди

@markrendle

рдУрд╣, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХрд╛ рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдерд╛ред 257 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдПрдХ рдордЬрдмреВрдд рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рд╣реИрдВ рдЬреЛ рдирд┐рд░реНрдгрдп рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЙрд╕рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВ рдмрд┐рдЧ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореИрдВрдиреЗ рддреБрдореНрд╣рд╛рд░реЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рд╕реЗ рддрд╛рдиреЗ рдорд╛рд░рдиреЗ рдпрд╛ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рд░реЛрдиреЗ рдХреА рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред рдЖрдк рднрд▓реА рднрд╛рдВрддрд┐ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд╕реВрддреНрд░ рддреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдорд╛рддреНрд░ рд╣реИред

@stefanolson

.net рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рдХреБрдЫ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рди рдкрд░ рд╣рдо рд╕рднреА рд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо .Net Core x рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдореБрджреНрджреЗ рдЖрд╕рдкрд╛рд╕ рд╣реИрдВ:
NewRelic (рдХреЛрдИ .Net рдХреЛрд░ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдПрдХ рдСрд▓реНрдЯ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
NH (рдЬрд╣рд╛рдБ EF Core рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ)ред
рд╕рд░реНрд╡рд┐рд╕рдмреЗрд╕ (рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рдиреЗрдЯ рдХреЛрд░ 2 рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ)

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

рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рд░реЗрдЬрд░ рдкреЗрдЬ tbh рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, ASP.NET Core 2.0 рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдпрд╛ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ 1.x рдкрд░ рд╡рд╛рдкрд╕ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдИрдУрдПрд▓ рдмрд╛рдд рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ ASP.NET Core 2.0 рдПрдХ рдФрд░ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рджрд┐рд╢рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рддреЛ рд╣рдо рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдирд╣реАрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд░реЗрдЬрд░ рдкреЗрдЬреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рд┐рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ ред рдХреЛрдИ (рд╡рд░реНрддрдорд╛рди) рдкрд░рд┐рджреГрд╢реНрдп рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпреЗ рджреЛрдиреЛрдВ рдореМрдЬреВрдж рд╣реИрдВ:

  1. рд╣рдореЗрдВ рд╣рд░ рд╕рдордп рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
  2. рджреВрд╕рд░реА рддрд░рдл рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдиреНрдирдпрди рд╣реИ

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдЗрддрдирд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдкрд╛рда рдХреЛ рд╡рд╛рдкрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдПрдкреАрдЖрдИ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ .NET рдХреЛ рдЪреБрдирд╛ ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдЖрдк рд▓реЛрдЧ рдХрдорд╛рд▓ рдХреА рдЪреАрдЬреЗрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рд╕реНрд╡рд┐рдЪ рдЦрд░рд╛рдм рд╣реИред рдЕрдЧрд░ рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЪреАрдЬреЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 2.x рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╣реИрдВ, рддреЛ рдмрдврд╝рд┐рдпрд╛ред рдлрд┐рд░ 3.x рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВред рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдИрдУрдПрд▓ рдЬреАрд╡рди рд░реЗрдЦрд╛ рдХреЛ рдХрдм рдЦрддреНрдо рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЦрд░рд╛рдм рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ -> рдИрдУрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЦрд░рд╛рдм рд╣реИред

рдХреГрдкрдпрд╛, рдЕрднреА рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рди рдХрд░реЗрдВред .NET рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рджрд┐рдЦрд╛рдПрдБ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЙрддрдиреА рд╣реА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рддрдиреА рдпрд╣рд╛рдБ рд╣рд░ рдХреЛрдИ рдЖрдкрдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдорджрдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рддреЛ рд╣рдо рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реЛрддреЗред

@FransBouma рдЖрдк (рдЪрд╛рд╣рд┐рдП) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Microsoft рдХреЗ рдкрд╛рд╕ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА, рдлреАрдбрдмреИрдХ рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рдЕрдкрдиреА рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ GitHub рдореБрджреНрджреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореЗрд░рд╛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдИ рднреА snarkier рдерд╛

рдУрд╣, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдкреЛрд╕реНрдЯ рдкрдврд╝рдХрд░?

.net рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдордп ASP.net рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ? рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдФрд░ рдореЗрд░реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ASP.Net рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдореИрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореЗрд░реА рдирд╛рд╡ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд┐рднрд┐рдиреНрди .NET рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдХрд╣рд╛рдиреА .NET рдорд╛рдирдХ рд╣реИред рдЖрдкрдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Microsoft рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рднреВрд▓ рдЧрдпрд╛ рд╣реИред

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

рднрд▓реЗ рд╣реА рдЗрд╕рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, 1.0 рдмрд╣реБрдд рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рдерд╛! рдЗрд╕рдиреЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреА рд╕рдВрдкреВрд░реНрдг рд╡рд┐рд╢рд╛рд▓ рд╡рд┐рд░рд╛рд╕рдд рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛, рдФрд░ рд╣рдордиреЗ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреАред рдЙрд╕ рд╕рдордп рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдирд╛ рдХреЗрдХ рдирд╣реАрдВ рджреЗрдирд╛ рд╣реИ рдФрд░ рди рд╣реА рдЗрд╕реЗ рдЦрд╛рдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд░рдирд╛ рд╣реИред

@рдирд┐рдХрдХреНрд░рд╛рд╡рд░

рдпрд╣ рд░реЗрдЬрд░ рдХреЗ рдкрдиреНрдиреЛрдВ рд╕реЗ рдереЛрдбрд╝рд╛ рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рд┐рд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдХреЛрдИ (рд╡рд░реНрддрдорд╛рди) рдкрд░рд┐рджреГрд╢реНрдп рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпреЗ рджреЛрдиреЛрдВ рдореМрдЬреВрдж рд╣реИрдВ:

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдмрд┐рдирд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдкрд╛рда рдХреЛ рд╡рд╛рдкрд╕ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд┐рдпрдВрддреНрд░рдХ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ ЁЯШЙ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдЖрдк рд▓реЛрдЧ рдХрдорд╛рд▓ рдХреА рдЪреАрдЬреЗрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рд╕реНрд╡рд┐рдЪ рдЦрд░рд╛рдм рд╣реИред рдЕрдЧрд░ рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдЪреАрдЬреЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ 2.x рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╣реИрдВ, рддреЛ рдмрдврд╝рд┐рдпрд╛ред рдлрд┐рд░ 3.x рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВред рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдкрд╣рд▓реЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдИрдУрдПрд▓ рдЬреАрд╡рди рд░реЗрдЦрд╛ рдХреЛ рдХрдм рдЦрддреНрдо рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдордп рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЦрд░рд╛рдм рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЛ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ -> рдИрдУрдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЦрд░рд╛рдм рд╣реИред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ 2.x (рд╕рдорд░реНрдерди) рдФрд░ 3.x (рдбреНрд░реЙрдк) 1.x (рд╕рдорд░реНрдерди) рдФрд░ 2.x (рдбреНрд░реЙрдк) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдХреИрд╕реЗ рдкрдбрд╝рддрд╛ рд╣реИ?

ASP.NET рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдХреЗ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП//рдмрд┐рд▓реНрдб 2017 рд╕рддреНрд░ рдЕрдиреБрд╢рдВрд╕рд╛рдУрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА:

  • T6009 ASP.NET рд╡реЗрдм рдкреНрд░рдкрддреНрд░ рдЕрджреНрдпрддрди

    • рдпрд╛рдиреА рд╡реЗ рдЕрднреА рднреА рдкреВрд░реНрдг .NET рд╡реЗрдм рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ

  • ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП T6072 рд╕рдорд░реНрдерди: LTS рдХреНрдпрд╛ рд╣реИ?

    • рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдЙрдиреНрдорддреНрдд рд░реВрдк рд╕реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: рдЧреНрд░рд┐рдорд┐рдВрдЧ:

@davidfowl :

рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдХреИрд╕реЗ рдкрдбрд╝рддрд╛ рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ 2.0 рдХреЗ рдмрд╛рдж рд╢рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИ?

@рдпрд╛рдХреЛрд╡-рд╣реЛ

рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ 2.0 рдХреЗ рдмрд╛рдж рд╢рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИ?

рдореБрдЭреЗ рдмрддрд╛рдУ рдХрд┐ ASP.NET рдХреЛрд░ рдореЗрдВ рдХреМрди рд╕реЗ рд╣реИрдВ?

@davidfowl System.DirectoryServices, System.Drawing рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдКрдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ (рдпрд╣ рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ), рдХреНрдпрд╛ рдЖрдк рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ ASP.NET рдХреЛрд░ рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред рдпрджрд┐ рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЙрдиреНрд╣реЗрдВ рдЖрдЬ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдкреВрд░реНрдг рднрд┐рдиреНрди рд╕реНрдЯреИрдХ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдЙрддреНрд╕реБрдХ рдХреНрдпреЛрдВ рд╣реИ? рдЕрдЧрд░ .NET Core рдФрд░ ASP.NET Core рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛, .NET int рдирд╛рдо рдХреЗ рдмрд┐рдирд╛, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдХрдо рд▓реЛрдЧ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдмрд╣рд╕ рдХрд░реЗрдВрдЧреЗред рдХреЛрдИ рднреА рд╢рд┐рдХрд╛рдпрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдЧреЛ рдпрд╛ Node.js рд╡реЗрдм рд╕реНрдЯреИрдХ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@davidfowl ASP.NET MVC 5.x рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрдд рд╣реЛрдирд╛ рдПрдХ рдмрд╛рдд рд╣реИ, .net рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрдд рд╣реЛрдирд╛ рджреВрд╕рд░реА рдмрд╛рдд рд╣реИред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЧрд┐рд░рд╛рдирд╛ рдмрдбрд╝реА рдмрд╛рдд рд╣реИ...

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ 2.x (рд╕рдорд░реНрдерди) рдФрд░ 3.x (рдбреНрд░реЙрдк) 1.x (рд╕рдорд░реНрдерди) рдФрд░ 2.x (рдбреНрд░реЙрдк) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ 2.x рдмрд╣реБрдд рдЬрд▓реНрдж рдЖ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВред

@davidfowl System.DirectoryServices, System.Drawing рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдКрдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЬрд┐рдирдХрд╛ ASP.NET Core 1.x рдпрд╛ 2.x рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдСрдирд▓рд╛рдЗрди рдЖрдиреЗ рдкрд░ рджреЛрдиреЛрдВ рдкрд░ рдЪрд▓реЗрдВрдЧреЗред

рдЬреИрд╕рд╛ рдореИрдВрдиреЗ рдХрд╣рд╛, рдореИрдВ рдпрд╣рд╛рдВ рд╕рд┐рд░реНрдл FUD рдФрд░ рдЙрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реВрдВред рдпрд╣ рдзрд╛рдЧрд╛ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рдХреЛрдИ рднреА рддрдереНрдп рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред

@FransBouma рдЖрдк (рдЪрд╛рд╣рд┐рдП) рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Microsoft рдХреЗ рдкрд╛рд╕ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА, рдлреАрдбрдмреИрдХ рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рдЕрдкрдиреА рддрдХрдиреАрдХ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ GitHub рдореБрджреНрджреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рддрд╕реНрд╡реАрд░ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореЗрд░рд╛ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдХреЛрдИ рднреА snarkier рдерд╛

@markrendle рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИред рдЖрдк рдпрд╣ рдирд╣реАрдВ рдорд╛рдк рд╕рдХрддреЗ рдХрд┐ рдкреАрдкреАрдПрд▓/рджреЗрд╡ рд╕реНрд╡рд┐рдЪ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдиреНрдп рд╕реНрдЯреИрдХ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛, рдпрд╛ рдЙрдирдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдорд╣рддреНрд╡ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдЯреИрдХ рдХрд┐рддрдирд╛ рдкрд╕рдВрдж рд╣реИ (рдФрд░ рдкрд░рд╛рдорд░реНрд╢ рдпрд╛ рдУрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЛрдВ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ), рдпрд╛ рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдзрд╛рдЧрд╛ рдареАрдХ рдпрд╣реА рд╣реИ, рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ 2.x (рд╕рдорд░реНрдерди) рдФрд░ 3.x (рдбреНрд░реЙрдк) 1.x (рд╕рдорд░реНрдерди) рдФрд░ 2.x (рдбреНрд░реЙрдк) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдХреИрд╕реЗ рдкрдбрд╝рддрд╛ рд╣реИ?

@ рдбреЗрд╡рд┐рдбрдлреЙрд╡рд▓ рд╕рдордпред
рдереЛрдбрд╝рд╛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдЪреАрдЬреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдПрдХ рдЪреАрдЬ рдХреЛ рдПрдХ рдмрд╛рд░ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордпред рдПрдХ рдЖрд░рдЯреАрдПрдо рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде netstandard2 рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред netstandard1 (рдХрдард┐рди) рдХреЗ рдмрдЬрд╛рдп рд╣рдорд╛рд░реЗ libs рдХреЛ netstandard2 (рдЖрд╕рд╛рди) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдореЗрд░реЗ рд▓рд┐рдП, рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рди рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордпред
рдЖрдк рдПрд╕реНрдкрдиреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЙрддреНрдкрд╛рдж рдХреЗрд╡рд▓ рдПрд╕реНрдкрдиреЗрдЯ рдирд╣реАрдВ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдореЛрдВ рдФрд░ рдЯреНрд░реЗрдбрдСрдлрд╝ рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ 2.x рдмрд╣реБрдд рдЬрд▓реНрдж рдЖ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВред

рдЗрд╕рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ 2.0 рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рдпрд╛ рдЬрдирд╡рд░реА рдореЗрдВ рдЖ рд░рд╣рд╛ рдерд╛? рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛? 2.0 рдореЗрдВ рдРрд╕рд╛ рдХреНрдпрд╛ рд╣реИ рдЬреЛ 1.x рдХреЛ рдпреЛрдЧреНрдп рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ?

@ yaakov-h рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд╣рд╛рдВ @shanselman рдиреЗ рдХрд╣рд╛ (рдЬреЛрд░ рдореЗрд░рд╛)

рдПрдбреА - рдкреВрд░реА рддрд░рд╣ рд╕реЗ, рдпрд╣ рдПрдХ рдЕрдВрддрд░ рд╣реИ рдпрджрд┐ рдЖрдк рд╕реАрдзреЗ рдПрд▓рдбреАрдПрдкреА рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдСрде рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ DirectoryServices рдирд╛рдо рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ
рдЖрд░реЗрдЦрдг - рдмрд┐рд▓рдХреБрд▓, рдпрд╣ рдПрдХ рдЕрдВрддрд░рд╛рд▓ рд╣реИред рд╣рдо рдЗрд╕реЗ рдХреЛрд░ 2.0 рдХреЗ рд▓рд┐рдП рдЧрд░реНрдорд┐рдпреЛрдВ рдХреА рд╕рдордп рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рддрдХ, рдпреЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╡рд┐рдХрд▓реНрдк рднреА рдореМрдЬреВрдж рд╣реИрдВ ImageSharp, ImageResizer, Mono рд╡рд┐рдХрд▓реНрдк, рдЖрджрд┐

@davidfowl рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ .net рдХреЛрд░ рдХреА рддрд╛рд░реАрдЦ рдФрд░ рдкрд░рд┐рдкрдХреНрд╡рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рдпрд╣ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╣реИред

@hikalkan

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдкреАрдУрд╡реА рд╕реЗ рд▓реЗрдХрд┐рди рддрдХрдиреАрдХреА рд╕реЗ рдирд╣реАрдВред рд╢рд╛рдпрдж рдпрд╣ рддрдХрдиреАрдХреА рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реИ?

@enricosada

рдереЛрдбрд╝рд╛ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдЪреАрдЬреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдПрдХ рдЪреАрдЬ рдХреЛ рдПрдХ рдмрд╛рд░ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордпред rtm рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде netstandard2 рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред netstandard1 (рдХрдард┐рди) рдХреЗ рдмрдЬрд╛рдп рд╣рдорд╛рд░реЗ libs рдХреЛ netstandard2 (рдЖрд╕рд╛рди) рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордпред рдореЗрд░реЗ рд▓рд┐рдП, рдЬреНрдпрд╛рджрд╛рддрд░ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рди рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордпред
рдЖрдк рдПрд╕реНрдкрдиреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЙрддреНрдкрд╛рдж рдХреЗрд╡рд▓ рдПрд╕реНрдкрдиреЗрдЯ рдирд╣реАрдВ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рдореЛрдВ рдФрд░ рдЯреНрд░реЗрдбрдСрдлрд╝ рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред

ASP.NET Core 2.0 рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрд░реНрдХ рдХреНрдпреЛрдВ рдкрдбрд╝рддрд╛ рд╣реИ? ASP.NET Core рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреЛ рд╡рд╣ рд▓рд╛рдн рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ рдорд┐рд▓реЗрдЧрд╛ред

@markrendle рдХреЛрдИ рдореБрдЭреЗ рдПрдХ рдХреИрд▓реЗрдВрдбрд░ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореМрд╕рдо рдПрдХ рдкреВрд░реА рддрд┐рдорд╛рд╣реА (рдЙрд╕реА рддрд┐рдорд╛рд╣реА рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рд╕реЗ 3 рдорд╣реАрдиреЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджрдХреНрд╖рд┐рдгреА-рдЧреЛрд▓рд╛рд░реНрдз рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

@ yaakov-h рдареАрдХ рд╣реИ, .NET Core 2.0 (рдФрд░ рдЗрд╕рд▓рд┐рдП ASP.NET Core 2.0) рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЕрдиреБрдорд╛рдирд┐рдд RTM рдХреИрд▓реЗрдВрдбрд░ Q3 рд╣реИ, рдЬреЛ рдЬреБрд▓рд╛рдИ/рдЕрдЧрд╕реНрдд/рд╕рд┐рддрдВрдмрд░ рд╣реИ), рдФрд░ рдЙрддреНрддрд░реА рдЧреЛрд▓рд╛рд░реНрдз рдореЗрдВ рдЧрд░реНрдореА рдЬреНрдпрд╛рджрд╛рддрд░ рдЬреБрд▓рд╛рдИ/рдЕрдЧрд╕реНрдд/рд╕рд┐рддрдВрдмрд░ рд╣реИред , рддреЛ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣реА рдмрд╛рдд рд╣реИред

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

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

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ 2.x (рд╕рдорд░реНрдерди) рдФрд░ 3.x (рдбреНрд░реЙрдк) 1.x (рд╕рдорд░реНрдерди) рдФрд░ 2.x (рдбреНрд░реЙрдк) рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдХреИрд╕реЗ рдкрдбрд╝рддрд╛ рд╣реИ?

@ рдбреЗрд╡рд┐рдбрдлреЙрд╡рд▓ рдЯрд╛рдЗрдоред рдФрд░ рдПрдХ рдЙрдЪрд┐рдд рдШреЛрд╖рдгрд╛ред рдпрджрд┐ рд╕рдВрджреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛, рддреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрддрдирд╛ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ред

@ рдбреЗрд╡рд┐рдбрдлреЙрд╡рд▓ рдЯрд╛рдЗрдоред рдФрд░ рдПрдХ рдЙрдЪрд┐рдд рдШреЛрд╖рдгрд╛ред рдпрджрд┐ рд╕рдВрджреЗрд╢ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛, рддреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрддрдирд╛ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрдкрдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛ред рд╡рд╣реА рдИрдУрдПрд▓ рдиреАрддрд┐ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред

рдареАрдХ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрдард┐рди рд╕рдордп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬреЛ рдореЗрд░реЗ рдЬреИрд╕реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдкреНрд░рд╢реНрди рднреА рд░рдЦрддреЗ рд╣реИрдВред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдП, рддреЛ рдЕрдВрддрддрдГ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЬрдЧрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╣реЛрдЧрд╛ред

рддреЛ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдиреЗрдЯрдХреЛрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдзреАрдореА рдЖрдПрдБрдЧреАред

рдЙрджрд╛рд╣рд░рдг:
2017 рдПрдПрд╕рдкреАрдиреЗрдЯ рдлреАрдЪрд░ рдП рдЪрд╛рд╣рддрд╛ рд╣реИред
2018 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд╛рдЧреВ рдлреАрдЪрд░ рдПред рд╣рдореЗрдВ рдПрдирдПрд╕ рдкрд░ рдлреАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред

рдЯреАрдо рдХреНрдпрд╛ рдХрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдиреЗрдЯрдХреЛрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП:
2017 рдПрдПрд╕рдкреАрдиреЗрдЯ рдлреАрдЪрд░ рдП рдЪрд╛рд╣рддрд╛ рд╣реИ
2017 рдПрд╕реНрдкрдиреЗрдЯ рдЯреАрдо рдиреЗ рдлреАрдЪрд░ рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЛ рдиреЗрдЯрдХреЛрд░ рдкрд░ рдлреАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред
2018 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреНрд╕ рдлрд╝реАрдЪрд░ рдПред рд╣рдореЗрдВ рдПрдирдПрд╕ рдкрд░ рдлрд╝реАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред

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

рдЕрдЧрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдиреЗрдЯрдХреЛрд░ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдлреАрдЪрд░ 1 рд╕рд╛рд▓ (рдпрд╛ рдХрд┐рд╕реА рднреА рд╕рдордп-рд╕реАрдорд╛) рдмрд╛рдж рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд▓реЛрдЧ рдЕрднреА рднреА рддрд░реНрдХ рджреЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣ рд╡рд╣ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ NET Framework ред

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

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

рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЕрднреА рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреМрди рд╕реА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдЬреЛ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдиреЗрдЯ рдХреЛрд░ рддрдХ рдЬрд╛рдиреЗ рд╕реЗ рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреА рд╣реИ?
рдореИрдВ рдпрд╣рд╛рдВ рдЕрдХреЗрд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрднреА рднреА рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ рд╕реЗ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХреА рдереА, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ "рд╕рдВрдХреНрд░рдордг" рдХрджрдо рдерд╛ред рдореЗрд░реЗ рд╕рднреА рд╡рд┐рдХрд╛рд╕ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ NET Framework рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ splited рд╣реИред (рдФрд░ рдирд╣реАрдВ, рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЙрд╕рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╣реИ)ред

2.x рд╕рдкреЛрд░реНрдЯ рдФрд░ 3.x рдбреНрд░реЙрдк 1.x рд╕рдкреЛрд░реНрдЯ рдФрд░ 2.x рдбреНрд░реЙрдк рд╕реЗ тАЛтАЛрдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдпрд╣рд╛рдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдКрдВрдЧрд╛ рдФрд░ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд▓реЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдЧрд╛ред

@NickCraver рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ Microsoft рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЛ рд╡рд╛рдкрд╕ рд▓реЗред рдЖрдкрдХрд╛ рд╕реБрдЭрд╛рд╡ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдПрдХ рдЕрд▓рдЧ рдиреЗрдЯрдХреЛрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдзреАрдореА рдлреАрдЪрд░ рд░рд┐рд▓реАрдЬ рд╣реИ? (рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓)

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдХреНрд╖реНрдо рдЫрд┐рдкреА рд╣реБрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЪрд┐рдВрддрд┐рдд рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдПрд╕рдкреАрдиреЗрдЯ (рдиреЗрдЯрдХреЛрд░ рдХреЗ рд╕рд╛рде) рдХреЗ рд▓рд┐рдП рдлреАрдЪрд░ рдП рд╣реИ рддреЛ рдЖрдк рдмрд╛рдЬрд╛рд░ рдФрд░ рд╢рд┐рдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдкреНрд░рдмрдВрдзрди/рдкреАрдПрдо рдЪреЗрдХрдмреЙрдХреНрд╕ рдкрд░ рдЯрд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдФрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЖрд▓рд╕реА" рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдореБрдЭреЗ рдЧрд▓рдд рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдпрд╣ "рд╕рдЯреНрдЯреЗрдмрд╛рдЬреА" рд╣реИ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдкрд░ рдпрд╣рд╛рдБ рд░реЗрдлрд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддреЛ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреНрд╕ рдлрд╝реАрдЪрд░ рдП 2019, рдпрд╛ 2020 рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ 2018 рдХреЗ рдмрдЬрд╛рдп рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред <- рдпрд╣ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (?) рдХреНрдпрд╛ рдореИрдВ рд╕рд╣реА рд╣реВрдБ? рдХреНрдпрд╛ Microsoft рдпрд╣рд╛рдБ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ?

рдЬрдмрдХрд┐ рд╣рдо рд╕рднреА рдЗрд╕ рдмрд╛рдд рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдШреЛрд╖рдгрд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП @davidfowl @DamianEdwards рдФрд░ @shanselman рдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдмрдврд╝реЗ рд╣реБрдП рдЬреБрдбрд╝рд╛рд╡ рдФрд░ рдЦреБрд▓реЗрдкрди рдХрд╛ рдФрд░ рд╕рдмреВрдд рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдЖрджрд┐ рдкрд░ рдмрд╣рд╕ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рдЧрддрд┐ рд╣реИред

рдЙрджрд╛рд╣рд░рдг:
2017 рдПрдПрд╕рдкреАрдиреЗрдЯ рдлреАрдЪрд░ рдП рдЪрд╛рд╣рддрд╛ рд╣реИред
2018 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд╛рдЧреВ рдлреАрдЪрд░ рдПред рд╣рдореЗрдВ рдПрдирдПрд╕ рдкрд░ рдлреАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред

рдЯреАрдо рдХреНрдпрд╛ рдХрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдиреЗрдЯрдХреЛрд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП:
2017 рдПрдПрд╕рдкреАрдиреЗрдЯ рдлреАрдЪрд░ рдП рдЪрд╛рд╣рддрд╛ рд╣реИ
2017 рдПрд╕реНрдкрдиреЗрдЯ рдЯреАрдо рдиреЗ рдлреАрдЪрд░ рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЛ рдиреЗрдЯрдХреЛрд░ рдкрд░ рдлреАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред
2018 рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреНрд╕ рдлрд╝реАрдЪрд░ рдПред рд╣рдореЗрдВ рдПрдирдПрд╕ рдкрд░ рдлрд╝реАрдЪрд░ рдП рдорд┐рд▓рддрд╛ рд╣реИред

рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛:
2017 aspnet рдЯреАрдо рдиреЗ lib X рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдЬреЛ netstandard2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдПрд╕реНрдкрдиреЗрдЯ рд╣рд░ рдЪреАрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ .net рдкреВрд░реНрдг рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ lib рдПрдХреНрд╕ .NET рдкреВрд░реНрдг рдкрд░ рднреА рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реИ (рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ nuget рд╕реНрдерд╛рдкрд┐рдд рд╣реИ)ред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ lib X рдХреЛ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддреЗ рд╣реИрдВ (рдЕрдиреНрдпрдерд╛, рдпрд╣ рдереНрд░реЗрдб/рдирд┐рд░реНрдгрдп рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдХреНрдпреЛрдВ рд╣реИ)ред рдпрджрд┐ lib X рдЗрддрдирд╛ рдЙрдиреНрдирдд рд╣реИ рдХрд┐ рдЙрд╕реЗ CoreCLR рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ Microsoft рдХреЛ рдЦреБрдж рд╕реЗ рдкреВрдЫрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрди рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ .NET рдкреВрд░реНрдг CLR рдореЗрдВ рдкреЛрд░реНрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рд░рд╛рдЬрдиреАрддрд┐ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ MS рдХреЛ Azure рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреИрдХ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬрд╝ рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ .NET рдХреЛрд░/рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ azure рдкрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ AWS рдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рдкрд░ JVM/NodeJS рдЖрдзрд╛рд░рд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИред рдЙрдирдХреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдореИрдВ рдпрд╣ рднреА рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдБред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдкреВрд░реНрдг рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд MS рдХреА рдХреЛрдИ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП .NET рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП API рдХреА рдорд╛рддреНрд░рд╛ рджреЗрдЦреЗрдВред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдбрд╝реА рдЯреАрдо рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ?

рдирд╣реАрдВред

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

рдЖрдк 'рддреЗрдЬ' рдЪрд▓рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдЖрдк рдЙрд╕ рдЧрдВрддрд╡реНрдп рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭ рд▓реЗрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рдкрд╣рд▓реЗ рддрдп рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред

рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдЙрддрдирд╛ рд╣реА рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдпрд╣ рдореБрджреНрджрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо .net рдФрд░ asp.net рдХреЗ рдмреАрдЪ рдХреЗ рддрд╛рд░ рдХреЛ рдХрд╛рдЯ рд░рд╣реЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ asp.net, asp.net core (.net), рдФрд░ asp.net core (core) рд╣реИред рддреЛ рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдирд╣реАрдВ, рдЫреЛрдЯрд╛ рдпрд╛ рдкреВрд░реНрдг рдХреЛрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рдирд╡рд╛рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ asp.net рдФрд░ asp.net core (.net) рдЕрдЯрдХрд╛ рд╣реБрдЖ рд╣реИред
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ lib netstandard2.0 рдореЗрдВ рдмрд┐рдирд╛ рдХреЛрд╢рд┐рд╢ рдХрд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕рд▓рд┐рдП рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкреВрд░реНрдг рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдмрд╣реБрдд рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рд╡реЗ рдПрдПрд╕рдкреАрдиреЗрдЯ (рдкреБрд░рд╛рдиреЗ) рдпрд╛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ (рдкреБрд░рд╛рдиреЗ рднреА) рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
рдФрд░ рдЪреВрдВрдХрд┐ рджреЛрдиреЛрдВ рдкреБрд░рд╛рдиреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо.рд╡реЗрдм рдФрд░ рдкреБрд░рд╛рдиреЗ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдФрд░ рдЪреВрдВрдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдИрдУрдПрд▓ рд╣реИ, рдлрд┐рд░ рднреА рдкрд░реЗрд╢рд╛рди рдХреНрдпреЛрдВ рд╣реЛрдВред

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

рдкреБрдирд╢реНрдЪ: рдореИрдВ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдХрд╣ рд░рд╣рд╛ рд╣реВрдВред рд╡рд╣ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.x "рдкреБрд░рд╛рдирд╛ рдФрд░ рдкреБрд░рд╛рдирд╛" рдмрдирд╛рдо 2.x рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдЪреНрдЪрд╛рдИ рд╣реИ, рд▓реЗрдХрд┐рди рд▓реЛрдЧ рдпрд╣реА рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВред

@davidfowl

рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЕрдкрдиреА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рддреЛ рдирд╡реАрдирддрдо .NET рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдврд╛рдВрдЪреЗ рдХреЛ рдЪреАрдЬреЗрдВ рдХрдо рдорд┐рд▓рддреА рд╣реИрдВред

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

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

рд╣рдо рд╡рд╣реА рдХрд░рддреЗ рд╣реИрдВ

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

рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ (рдпрд╣ рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ), рдХреНрдпрд╛ рдЖрдк рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ ASP.NET рдХреЛрд░ рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдирд╣реАрдВред рдЬрдм рддрдХ рдореБрдЭреЗ рд╡рд╣ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддрдм рддрдХ рдореБрдЭреЗ рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рд▓рд╛рдн рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рдпрд╛рд╕ рди рд╣реЛред рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣ рдЪреБрдиреВрдВрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЧрддрд┐ рдФрд░ рдХреНрд╖рдорддрд╛ рд╣реЛред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ - Win32, COM, CORBA, ADO.NET, рдХрдИ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдЗрдВрдЬрди, рд╡рд┐рднрд┐рдиреНрди рд╡реЗрдм рдПрдкреАрдЖрдИ, рд╕реАрдИрдПрдл/рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕/рдЖрдИрдИ рдЬреИрд╕реЗ рдПрдореНрдмреЗрдбреЗрдб рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ) рдФрд░ рдХрдИ рд╡рд┐рдХреНрд░реЗрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬреЗрдВ рдореИрдВ рд╢рд░реНрдорд╕рд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреВрдВрдЧрд╛ред рдореИрдВ рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЙрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдореЗрдЬрдмрд╛рди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкрд░ рдХрдо рд╕реЗ рдХрдо рдЖрдо рднрд╛рдЬрдХ рд╕реЗ рд╡рд┐рд╡рд╛рд╣рд┐рдд рд╣реВрдВред рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрдХрдиреАрдХреЗрдВ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╕реНрдерд┐рд░ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреЗрд╕реНрдХрдЯреЙрдк/рд╕рд░реНрд╡рд░ рд╕рд╛рдорд╛рди рд╣реИрдВред рдЬрдм рддрдХ рдореБрдЭреЗ рдЗрдВрдЯрд░рдСрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрдо рдмрд╣рд┐рд╖реНрдХреГрдд рдврд╛рдВрдЪреЗ, рдмреЗрд╣рддрд░ред

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

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдП, рддреЛ рдЕрдВрддрддрдГ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЬрдЧрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╣реЛрдЧрд╛ред

рдирд╣реАрдВ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓рд╛ред .NET рдорд╛рдирдХ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдкрд╛рдЧрд▓ рдЪреАрдЬреЗрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЬреЛ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕ рд╕рдордп рдпрд╣ рд╕рдм рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВред рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдкреВрдЫрд╛ рдХрд┐ рд╣рдо .NET рдорд╛рдирдХ рдХреЗ рдмрдЬрд╛рдп .NET рдХреЛрд░ рдХреЛ рдХреНрдпреЛрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

  • рд╣рдордиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЙрди рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ utf8 рд╣реЛрдирд╛ рд╣реИ (рдХрдИ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред
  • рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдо рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рд╕рд░рдгрд┐рдпреЛрдВ/рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╕реНрддреЗ рд╕реНрд▓рд╛рдЗрд╕, рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рд╣рдордиреЗ Span<T> рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Buffer<T> рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдРрд░реЗ рдирдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП 0 рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рдирдП рддрд░реАрдХреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • рдЗрд╕рд╕реЗ Int, UInt рдЖрджрд┐ (TryParse) рдкрд░ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ Span<char> рдФрд░ Span<byte> рд▓реЗрддреЗ рд╣реИрдВред
  • рдпрд╣ рдирдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдЯреАрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ Span<byte> рд▓реЗрддреЗ рд╣реИрдВред
  • Buffer<T> рдФрд░ Span<T> рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреИрдХ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ Span<T> рдпрд╛ Buffer<T> рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реА-рдкрд┐рди рдХрд┐рдП рдЧрдП рдмрдлрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
  • Kestrel HTTP2 рдХреЛ 2.x рд╕рдордп рд╕реАрдорд╛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.1 рдкрд░ рд▓рдХреНрд╖рд┐рдд) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSL рд╕реНрдЯреНрд░реАрдо рдкрд░ рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • .NET рдХреЛрд░ рдкрд░ рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдбреБрдкреНрд▓реЗрдХреНрд╕ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдПрдХрд▓, рдЧреИрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рд┐рдЧреНрдирд▓рд░ рдореЗрдВ рдПрдЪрдЯреАрдЯреАрдкреА рдкрд░ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдВрдб рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред
  • рд╣рдордиреЗ HttpClient рдФрд░ System.Net.Http рд╕реЗ рд╣реЗрдбрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ (https://github.com/aspnet/HttpAbstractions/tree/d1d9bceff56cb44a194ae36923ce687e5e353006/src/Microsoft.Net.Http.Headers) рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░ рд╕рдХреЗрдВред рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ .NET Framework рдФрд░ .NET Core рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред .NET рдХреЛрд░ рдХреЗ рдкрд╛рд╕ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ)ред
  • рдмрд╣реБрдд рд╕реЗ рдирдП рдереНрд░реЗрдбрд┐рдВрдЧ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдирдП рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗ рдпрджрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (https://github.com/dotnet/corefx/issues?q=is%3Aopen+is%3Aissue+ рд▓реЗрдЦрдХ%3Advidfowl+label%3Aarea-System.Threading), рдпреЗ рдХреБрдЫ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИред

рдХреЛрд░ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдлреЛрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдРрд╕реА рдЪреАрдЬреЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдЬреИрд╕реА рджрд┐рдЦрддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ https://github.com/aspnet/Common/tree/dev/src/Microsoft.Extensions.Primitives рдХреЗ рднреАрддрд░ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдЫреЛрдЯрд╛ BCL рд╣реИред

рдпрд╣ рдЙрди рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрдВрдк рдерд╛ рдЬреЛ рдореИрдВ рд╣рдореЗрдВ рдирд┐рдХрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ .NET рдХреЗ рдмрд╣реБрдд рд╣реА рдореМрд▓рд┐рдХ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

@FransBouma

NET рдкреВрд░реНрдг рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП API рдХреА рдорд╛рддреНрд░рд╛ рджреЗрдЦреЗрдВред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдбрд╝реА рдЯреАрдо рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ?

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

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрдкрдХреА рдХреНрд╖рдорддрд╛ рдкрд░ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛ред рд╡рд╣реА рдИрдУрдПрд▓ рдиреАрддрд┐ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред

@davidfowl рд╕рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдлреНрд░реЗрдо рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХреБрдЫ рд╣реИред рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдХрдм рд╕рдВрдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдпрджрд┐ рдХрднреА рднреАред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдиреНрд╣реЗрдВ рд╕реЛрдЪрдиреЗ рдФрд░ рд╕рд╣реА рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рджреЗрдЧрд╛ (рдЙрдирдХреЗ рд▓рд┐рдП)ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдпрджрд┐ рдЖрдкрдиреЗ .NET Framework рдкрд░ ASP.NET Core рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдирд╛/рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рддреАрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдЕрдкрдиреЗ рд╕рднреА рдХреЛрдб рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ ASP.NET Core 2.x рдкрд░ рдЬрд╛рдПрдВред

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

  2. ASP.NET Core 1.x рдФрд░ .NET Framework рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ рдФрд░ рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 1 рдХрд░ рдкрд╛рдПрдВрдЧреЗред

    • рдпрд╣ рдХрд╛рдлреА рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред рдПрдХ рд╕рд╛рд▓ рдХреЗ рднреАрддрд░ (рдпрд╛ рджреЛ, рдпрд╛ рддреАрди? рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ?), рдЖрдк рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдкрд░ рдЪрд▓рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

  3. ASP.NET 4.x рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ

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

рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рдЬрд╛рдирддреЗ рдереЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рдереЗ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ 1. рдФрд░ 2 рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдП рдХреЛ рдХрднреА рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

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

@рдЦреЗрд▓рдВрдЧ (рдЖрдкрдХреЗ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕рдорд╛рдзрд╛рди рдореЗрдВ)

  1. .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 2.0 рдкрд░ рдЬрд╛рдПрдВ

    • рдпрд╣ рдХрд╛рдлреА рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реИред рдПрдХ рд╕рд╛рд▓ рдХреЗ рднреАрддрд░, рдЖрдк рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

@davidfowl

рдИрдорд╛рдирджрд╛рд░ рд╕рд╡рд╛рд▓ (рдпрд╣ рдореИрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ), рдХреНрдпрд╛ рдЖрдк рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдБ, рддреЛ ASP.NET рдХреЛрд░ рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ?

рдИрдорд╛рдирджрд╛рд░ рдЙрддреНрддрд░:
рдПрд╣рд╕рд╛рди: рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рддрд╛ рд╕рд░реНрд╡реЛрдкрд░рд┐ рд╣реИред рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдЪреНрдЫреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рд╡реЗ рдЙрддрд░рддреА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП ред
ASP.NET Core рдХреНрдпреЛрдВ: рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ OS X рдФрд░ Linux рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

рдПрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдЬреИрд╕реЗ .NET (рдкреБрд░рд╛рдирд╛ рдФрд░/рдпрд╛ рдХреЛрд░) рдпрд╛ рдЬрд╛рд╡рд╛ рднреА рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЬрдм рд╡реЗ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо / рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

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

рдФрд░ рдЕрдм рдЖрдк рдореМрдЬреВрджрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдорд╛рдирд╡-рд╡рд░реНрд╖реЛрдВ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдирд┐рд╡реЗрд╢ рдХреЛ рдХреЗрд╡рд▓ рдХрд╛рдЯ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдирдП .NET рдХреЛрд░ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред (рдирдП рд╕рд░реНрд╡рд░ рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛)ред

рдкреНрд░рд╢реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП: рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп .NET Core рдХреЛ ".NET, рдЕрдм XPlat рдХреЗ рд▓рд┐рдП рднреА" рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрд╕реА рд╕рдВрдЧрддрддрд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ .NET рдиреЗ рдкрд┐рдЫрд▓реЗ 17 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдореЗрдВ рджрд┐рдпрд╛ рдерд╛ред рдФрд░, рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ .NET Core рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк Node.js рдпрд╛ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рджреЛрдиреЛрдВ рдЕрдм .NET Core рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ XPlat рд╣реИрдВред

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

@ рдЧрд┐рдВрдЧреНрдЯрд░реНрд╕

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрдврд╝рд┐рдпрд╛ рдЬрд╡рд╛рдм!

ASP.NET Core рдХреНрдпреЛрдВ: рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ OS X рдФрд░ Linux рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрдиреЛ рдкрд░ рдПрдорд╡реАрд╕реА 5 рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рдереЗ?

рдкреНрд░рд╢реНрди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП: рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп .NET Core рдХреЛ ".NET, рдЕрдм XPlat рдХреЗ рд▓рд┐рдП рднреА" рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрд╕реА рд╕рдВрдЧрддрддрд╛ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ .NET рдиреЗ рдкрд┐рдЫрд▓реЗ 17 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдореЗрдВ рджрд┐рдпрд╛ рдерд╛ред рдФрд░, рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ .NET Core рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк Node.js рдпрд╛ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рджреЛрдиреЛрдВ рдЕрдм .NET Core рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡ рдФрд░ XPlat рд╣реИрдВред

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

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрдбрд╝ рд╣реИред рдЖрдкрдХреЗ рдЖрдХрд▓рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░:

рдпрд╣ рдирдпрд╛ (рдПрдПрд╕рдкреА.)рдиреЗрдЯ рдХреЛрд░ рдХреЛрдб рд╣рдордиреЗ (рджрд░реНрдж рд╕реЗ) рдПрдХ рдЯреАрдо рдХреЗ рд╕рд╛рде (рдПрдПрд╕рдкреА) рдиреЗрдЯ рдХреЛрд░ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рд▓рд┐рдЦрд╛ рдерд╛ред

рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ ASP.NET 4.x рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде linux рдкрд░ рдореМрдЬреВрджрд╛ .NET Framework рдЪрд╛рд╣рддреЗ рдереЗред рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ?

рдПрд╣рд╕рд╛рди: рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рддрд╛ рд╕рд░реНрд╡реЛрдкрд░рд┐ рд╣реИред рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЕрдЪреНрдЫреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рд╡реЗ рдЙрддрд░рддреА рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

.NET рдХреЛрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд╛рде-рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

@davidfowl рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ .NET Framework, UWP, .NET Core, mono рдЖрджрд┐ рдкрд░ рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдСрд░рд▓рд┐рдпрдиреНрд╕ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ASP.NET рдХреЛрд░ рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдЙрддреНрдкрд╛рдж рдПрдХ рд╣реА рд╣реИрдВред

рдСрд░рд▓рд┐рдпрдиреНрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ "2.0 рддрдХрдиреАрдХреА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди" рдмрд┐рд▓реНрдб рдореЗрдВ .NET рдорд╛рдирдХ 1.5 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди .NET рдорд╛рдирдХ 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд░ рд╕рдХреЗрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рдЕрд╡рд░реЛрдзрдХ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ - рдореЗрд░реА рдЪрд┐рдВрддрд╛ рдХреЗрд╡рд▓ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдЪрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╡рд┐рдЪрд▓рди рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╣реЛрдирд╛ рд╣реИред

рд╣рд░ рдХрд┐рд╕реА рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рде рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, @davidfowl & co!

NET рдкреВрд░реНрдг рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП API рдХреА рдорд╛рддреНрд░рд╛ рджреЗрдЦреЗрдВред рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмрдбрд╝реА рдЯреАрдо рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ?

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

рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ _you_ netstandard2.0 рдкреИрдХреЗрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ aspnet .net рдкреВрд░реНрдг рдкрд░ рднреА рдЪрд▓ рд╕рдХреЗред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, .NET рдкреВрд░реНрдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдРрд╕рд╛ рди рдмрдирд╛рдПрдВ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдвреЗрд░ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдм рдХреБрдЫ рдЙрдЦрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдЗрди рд╕рдмрдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣рдо рдЕрднреА рднреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рдБ, рдРрд╕рд╛ рд╣рд░ рджреВрд╕рд░реЗ .NET рдбреЗрд╡рд▓рдкрд░ рдХрд░рддрд╛ рд╣реИ;) рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдХреБрдЫ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рд╕рднреА рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдПрдПрд╕рдкреАрдПрдирдИрдЯреА рдЯреАрдо рдиреЗ рдкрд╣рд▓реЗ рднреА рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ!) рдФрд░ рдЙрд╕ рдмреЛрдЭ рдХреЗ рдмрд┐рдирд╛ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╣ рдЕрдВрдд рдореЗрдВ рдЙрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдпрд╣ рдХрднреА рднреА .NET рдХреЛрд░ рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдШрдЯрдХ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рд╢рд┐рдк рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рдЬрдбрд╝ рд╣реИ, рд╣реИ рдирд╛? .NET рдХреЛрд░ рдЯреАрдо рджрд┐рдЧреНрдЧрдЬ 'WinDiv' рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд╣ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред Microsoft рдЗрд╕ рдЖрдВрддрд░рд┐рдХ рд░рд╛рдЬрдиреАрддрд┐ рдХреА рдмрдХрд╡рд╛рд╕ рдХреЛ рдШрд░ рдореЗрдВ рд╣рд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ .NET рдкреВрд░реНрдг + .NET рдХреЛрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рд░рд╛рдЬрдиреАрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд / рдареАрдХ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛; рдореИрдВ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реВрдВ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдХрд┐рддрдиреЗ рд╕рдордп рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓реЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдирд╛рдЧрд░рд┐рдХ рд╢реЗрд╖ рд╣реИрдВ тЭдя╕П рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╣рд░ рджрд┐рди рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рд╢рд╛рдпрдж .NET рдУрдПрд╕рдПрд╕ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ? рдореИрдВ

рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рди рдкрд░ рдЖрдк netstandard2.0 рд╕рдВрдХреБрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрднрд░ рд╣реИрдВ рддрд╛рдХрд┐ aspnet .net рдкреВрд░реНрдг рдкрд░ рднреА рдЪрд▓ рд╕рдХреЗред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, .NET рдкреВрд░реНрдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЬреЛрдЦрд┐рдо рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдРрд╕рд╛ рди рдмрдирд╛рдПрдВ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдХреЛрдб рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдвреЗрд░ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдм рдХреБрдЫ рдЙрдЦрдбрд╝ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИред рдХрд┐рд╕реА рднреА рд╡рд┐рд░рд╛рд╕рдд рдкреНрд░рдгрд╛рд▓реА рдХреА рддрд░рд╣ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб рдХреЛ рдХрдо рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рдРрд╕реА рдХрдИ рдордЬреЗрджрд╛рд░ рдХрд╣рд╛рдирд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рджрд┐рдЧреНрдЧрдЬ рдЖрдкрдХреЛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдмрдЧ рдлрд┐рдХреНрд╕ рдиреЗ рджреВрд╕рд░реЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЕрд╕реНрдкрд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рдпрд╣ рдЙрд▓рдЭрд╛ рд╣реБрдЖ рд╣реИ, рдРрд╕рд╛ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрднрд░рддрд╛ рд╕реАрдорд╛рдУрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЬрд╛рдПрдВ рдФрд░ Referencesource.microsoft.com рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВред рдЬрдЧрд╣-рдЬрдЧрд╣ рдЕрдкрдбреЗрдЯ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХрднреА рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд┐рдЧ рд╕реНрд╡рд┐рдЪ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рднреМрддрд┐рдХреА рд╣реИ, рдпрд╣ рдЙрддрдиреА рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИред

рд╣рд╛рдБ, рдРрд╕рд╛ рд╣рд░ рджреВрд╕рд░реЗ .NET рдбреЗрд╡рд▓рдкрд░ рдХрд░рддрд╛ рд╣реИ;) рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдХреБрдЫ рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рд╕рднреА рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ рдПрдПрд╕рдкреАрдПрдирдИрдЯреА рдЯреАрдо рдиреЗ рдкрд╣рд▓реЗ рднреА рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ!) рдФрд░ рдЙрд╕ рдмреЛрдЭ рдХреЗ рдмрд┐рдирд╛ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╣ рдЕрдВрдд рдореЗрдВ рдЙрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреА рдЬрдбрд╝ рд╣реИ, рд╣реИ рдирд╛? .NET рдХреЛрд░ рдЯреАрдо рджрд┐рдЧреНрдЧрдЬ 'WinDiv' рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд╣ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред Microsoft рдЗрд╕ рдЖрдВрддрд░рд┐рдХ рд░рд╛рдЬрдиреАрддрд┐ рдХреА рдмрдХрд╡рд╛рд╕ рдХреЛ рдШрд░ рдореЗрдВ рд╣рд▓ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ .NET рдкреВрд░реНрдг + .NET рдХреЛрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рд░рд╛рдЬрдиреАрддрд┐ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд / рдареАрдХ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

рднреМрддрд┐рдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░рд╛ рдЕрдиреНрдп рдЙрддреНрддрд░ рдкрдврд╝реЗрдВред

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

рдпрд╣ рдореЗрд░реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рджреВрдВрдЧрд╛ред

@khellang lol рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ GitHub рдХреЗ рдореБрджреНрджреЛрдВ рдиреЗ рдЕрднреА рддрдХ MS рд╕реЗ рдирдлрд░рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реЛрд▓ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреНрд╡рд┐рдЯрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдирдХрд╛ рдорд╛рдзреНрдпрдо рд╣реИ рдЬрд╣рд╛рдВ рдЕрднреА рддрдХ рдХреЛрдИ рдбрд╛рдЙрдирд╡реЛрдЯ рдирд╣реАрдВ рд╣реИ :)

@davidfowl

рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ ASP.NET 4.x рд╕рдВрдЧрддрддрд╛ рдХреЗ рд╕рд╛рде linux рдкрд░ рдореМрдЬреВрджрд╛ .NET Framework рдЪрд╛рд╣рддреЗ рдереЗред рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ?

рдирд╣реАрдВ рд╡рд╛рдХрдИ рдореЗрдВ рдирд╣реАрдВред рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ .NET 4.x (рд╡реЗ 3.5 рдереЗ рдЬрдм рд╣рдордиреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛) рд╡рд┐рдВрдбреЛрдЬ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкреВрд░рдХ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдирдИ / рдЪрдордХрджрд╛рд░ (рд╕реВрдХреНрд╖реНрдо) рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

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

рд╕рд╛рде рд╣реА, рдХреБрдЫ рдмрд┐рд▓реНрдХреБрд▓ рдирдП ASP.NET рдХреЛрд░ рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ Linux рдкрд░ рдирд╣реАрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЯреЙрдкрд╢реЗрд▓реНрдлрд╝ (рдкреВрд░реНрдг 4.6 рдврд╛рдВрдЪреЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░) рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд▓рддреЗ рд╣реИрдВред

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

рддреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реЛрдЧреА рдХрд┐ рд╣рдо рдЕрднреА рднреА рдирдП (рдПрдПрд╕рдкреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рдиреЗрдЯ рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЬреЛ рд╣рдо .NET 4.6 рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрд╕реА рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдереЗ), рдЬрдмрдХрд┐ рдПрдХ рд╕рдорд░реНрдерд┐рдд рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдЬрдм рддрдХ рдбреЗрд╕реНрдХрдЯреЙрдк .NET рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЬрд╣рд╛рдВ рдХреЛрдб рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЬрдм рддрдХ .NET Core 1 рдХреЛ .NET 4.6 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ .NET 5 рдХреЗ рдмрд╛рд╣рд░ рдЖрдиреЗ рдкрд░ .NET Core x рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдЦрд┐рдХ рдЕрдкрдЧреНрд░реЗрдб рдкрде рд╣реЛрддрд╛ рд╣реИ, рдФрд░ .NET Core x рдХреЛрдб рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИред NET 5 рд╣реИ, рддреЛ рд╣рдо рдареАрдХ рд╣реИрдВред

@gingters рдХреНрдпрд╛ рдЖрдк asp.net рд╕реЗрд╡рд╛рдУрдВ рдкрд░ .net рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ netstandard2.0 рдореЗрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрджрд┐ рдирд╣реАрдВ рддреЛ libs рдХреЛ рдмрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╕рд╛рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ netstandard2.0 рдореЗрдВ рдирд╣реАрдВ рд╣реИред

@davidfowl рдХреНрдпрд╛ c++/cli dlls netcoreapp 2.0 рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреА рддреГрддреАрдп рдкрдХреНрд╖ C++/CLI рдЕрд╕реЗрдВрдмрд▓рд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЬрд▓реНрдж рд╣реА рдмрджрд▓рд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

@davidfowl рдиреЗ рд▓рд┐рдЦрд╛:

ASP.NET Core 2.0 рдореЗрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЗрддрдиреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВ

рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдм рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдХреНрдпреЛрдВ?

@qrli C++/CLI CoreCLR рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреБрдЫ рдкреГрд╖реНрдарднреВрдорд┐ рджреА рдЧрдИ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛: https://github.com/dotnet/coreclr/issues/659#issuecomment -91341753

1x рдХреЛ 4 рд╕рд╛рд▓ рдХрд╛ рд╕рдорд░реНрдерди рджреЗрдВ (2x рд╕реЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХрд░реЗрдВ) рдФрд░ 2x рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдзреАрдореЗ рд╢рд╣рд░ рдХреЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╣рд░ рдХреА рдХрд╛рд░ рдФрд░ рд░рд╛рдЬрдорд╛рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдлреЗрд░рд╛рд░реАред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .net рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд╣рд░ рдмрд╣реБрдд рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд╣реИред
рдпрджрд┐ ASP.Net Core рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ MS 4 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП 1x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рджреЗрдЧрд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдВрд╕реНрдХреГрддрд┐ рдмрджрд▓ рдЬрд╛рдПрдЧреАред

@ idg10 рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИред 2.x рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ 1.x рдкреНрд░рджрд░реНрд╢рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЬреЛ рдХреЗрд╡рд▓ рдХреЛрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛ рд░реЗрдЬрд░ рдкреЗрдЬ рд╣реИред

рддреЛ рд╕рдВрд╕реНрдХрд░рдг 1.x рдкрд░ рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХрд┐рд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдм рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рдкрд░рд┐рд╡рд░реНрддрди рдХреНрдпреЛрдВ?

рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ рдЗрд╕реЗ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ https://github.com/aspnet/Home/issues/2022#issuecomment -300141134

@ рд╣реЙрд▓рдЯреЛрд░
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ _now_ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП 1 рдкрд░ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реА рд╣реИред рдЬрдм рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╛ рдмрджрддрд░: рдЖрд╡рд╢реНрдпрдХрддрд╛) (рдПрдПрд╕рдкреА) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдиреЗрдЯ рдХреЛрд░ 2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдпрд╛рдиреА рдЬрдм 1 рд╕реЗрд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдЫреЗрдж рддрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ) рддреЛ рд╣рдо рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдЙрди libs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ / рдЬреЛрдбрд╝реЗрдВ: рдЬрдм рддрдХ рдХреЛрдИ рдирдпрд╛ рдкреВрд░реНрдг .NET рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдирдП, рдирд┐рд╢реНрдЪрд┐рдд .NET рдХреЛрд░ libs рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдЬреЛ рдореМрдЬреВрджрд╛ рд╡рд┐рд░рд╛рд╕рдд рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЗ рд▓рд┐рдП рд░реИрдЦрд┐рдХ рдЕрдкрдЧреНрд░реЗрдб-рдкрде рдкрд░ рд╣реИред

@gingters рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБред

рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк libs netstandard2.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рднреА core. (рдпрджрд┐ рд╡реЗ wpf рд╕рд╛рдорд╛рди рдЖрджрд┐ рдХрд╛ рдЖрд╣реНрд╡рд╛рди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)
рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЖрдк рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдкрдХрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк libs рдХреЛрд░ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдореЗрдВ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдлрд┐рд░ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ 1.x рдкрд░ рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдФрд░ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдШреБ рдИрдУрдПрд▓ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИред

рдХреНрдпрд╛ 1.x рдПрдХ рдЖрд╕рд╛рди/рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ 2.x рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХрддрд░ рдХреЛрд░ рдкрд░рдл рд╕рд╛рдорд╛рди рд╣реЛрддрд╛ рд╣реИ (рдорддрд▓рдм 1.x рдкреБрд░рд╛рдирд╛ рдирд╣реАрдВ рд╣реИ рдмрдирд╛рдо 2.x)ред рдФрд░ рд╡рд╣ 1.x рдкреИрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ *рд╡рд░реНрд╖реЛрдВ рддрдХ рд╕рдорд░реНрдерд┐рдд рд░рд╣реЗрдЧрд╛?

@hallatore рдпрд╣ рджреВрд╕рд░реА рддрд░рдл рд╣реИред рдкреБрд░рд╛рдирд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ: рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдо, рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл, рд╕реА ++/рд╕реАрдПрд▓рдЖрдИ, рд╕рд╛рдорд╛рдиреНрдп рд╕реА ++, рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕, рдХреЛрдб рдХреА рд▓рд╛рдЦреЛрдВ рд▓рд╛рдЗрдиреЗрдВ рдЖрджрд┐ рдкреАрдкреА рдХрд╛ рдорд┐рд╢реНрд░рдг, 4.6 рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

.NET рдХреЛрд░ рдкрд░: рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирдИ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдЕрдиреНрдп libs, рдпрд╛рдиреА рд╕реЗрд░рд┐рд▓реЙрдЧ рдХреЗ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ), рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди libs + рд╕реЗрд╡рд╛рдПрдВ + рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдФрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреВрд░реНрдг .NET 4.6 рдврд╛рдВрдЪреЗ рдкрд░ рдЯреЙрдкрд╢реЗрд▓реНрдлрд╝, рдЬреИрд╕реЗ рд╣реА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛ рдХреЛрд░ рдореЗрдВ рднреВрдорд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐)ред

рдЕрдм рдирдП рдмрд┐рдЬрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдФрд░ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд░реНрд╡рд┐рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рднреА .NET 4.6 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓реА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рддрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХрд░рддрд╛ рд╣реИ, рддрдм рддрдХ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдЬрд┐рд╕реЗ рд╣рдо рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рддрдХ рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдЬреАрд╡рд┐рдд рд░рд╣ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рди рд╣реЛред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

@gingters рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА netstandard _min(рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп)_ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдореЗрдВ рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ ASP.NET Core 2.0 рдХреЛрдб рд╕реЗ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдЙрдиреНрд╣реЗрдВ wpf, Xamarin, UWP, рдЬреЛ рднреА рд╣реЛ, рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЛрдиреЛ рдкрд░ рдПрдорд╡реАрд╕реА 5 рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рдереЗ?

@davidfowl рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдЪрд▓реЛред рдпрд╣ рдПрдХ рдЦрд╛рд░рд┐рдЬ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдкрдорд╛рдирдЬрдирдХ рдЬрд╡рд╛рдм рд╣реИред рдХреНрдпрд╛ рдПрдордПрд╕ рдореЗрдВ рдХреЛрдИ рднреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдПрдХрд▓ рджреЗрд╡ рдХреЛ рдЕрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдПрд╕рдкреА рдХреЛ рднреА рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ? рдореИрдВ рдпрд╣рд╛рдБ рдПрдХ рдЭрдЯрдХрд╛ рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рд╕рдореБрджрд╛рдп рд╕реЗ рдмрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИред

рд╕реВрд░рдЬ рдХреЗ рдиреАрдЪреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ .Net Core рдФрд░ ASP.Net Core рдХреЛ рдПрдХ рд╣реА рдЙрддреНрдкрд╛рдж рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдм рдЖрдк рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореЛрдиреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╡рд┐рдВрдЧ _after_ рдиреЗрдЯ рдХреЛрд░ рдШреЛрд╖рдгрд╛ рдХреЗ рддрд╣рдд рдЖрдпрд╛ рдерд╛ред рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ .Net рдХреЗ рдЫреЛрдЯреЗ, рдлреБрд░реНрддреАрд▓реЗ, xplat рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ, рд╣рдо рд╕рднреА рдЙрди рджрд┐рдиреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдЬрдм ASP.Net Core рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ASP.Net 5 рдерд╛ рдФрд░ рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред рдмрд┐рд▓реНрд▓реА, рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрднреА рдбреЗрдврд╝ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рд╣реА рд╣реБрдЖ рд╣реИред

рдХреНрдпрд╛ рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХреА рдЧрдИ HTTP рдХрд╣рд╛рдиреА netstandard20 рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ "Kestrel 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╣реИ? рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреИрдиреНрд╕реА рдХреЗ рд▓реЛрдЧ рдЗрд╕рдХреА рдмрд╣реБрдд рдкрд░рд╡рд╛рд╣ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рди рд╣реА рдореИрдВред ASP.Net 2.x рд╡реГрджреНрдзрд┐рд╢реАрд▓ рд╕реБрд╡рд┐рдзрд╛-рд╡рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Kestrel 2 рдХрд╛ рдПрдХ рдЧрдВрднреАрд░ рдкреВрд░реНрдг рд▓рд╛рдн рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рджрд┐рди рдХрд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИред

@davidfowl

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЯрд┐рдкреНрдкрдгреА рд╣реИред рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ @davidfowl рдФрд░ @DamianEdwards рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд░рд╛рдиреЗ NDC рд╕рдореНрдореЗрд▓рди рд╕рддреНрд░ рдХреА рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЛ ASP.NET 4 рдореЗрдВ рд╡рд┐рд░рд╛рд╕рддреА рдХреНрд░реЙрдлреНрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдерд╛ рдЬрд┐рд╕реЗ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ - рдХреЛрдб рдХреЗ рдЙрд╕ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдЭрд╛рдВрдХрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдХрд░реНрд╖рдХ рдерд╛ред

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

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕рд╣реА рдЙрддреНрддрд░ рдХреНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдФрд░ ASP.NET4/MVC5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА WebForms рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рдлреА рд╕рдордп рддрдХ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛!)ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ MVC5 рдХреЛ рдЕрдм рдХреБрдЫ рдкреНрдпрд╛рд░ рдорд┐рд▓реЗрдЧрд╛ рдХрд┐ рдпрд╣ _finally_ GitHub рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ - рдореИрдВ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕рдордп рдФрд░ рдкреНрд░рдпрд╛рд╕ рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рддреИрдпрд╛рд░ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ async рд╕рдорд░реНрдерди, рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░, рдЖрджрд┐)ред

@qrli Enterprises рдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЕрдкрдиреЗ Windows Server 2008 R2 IIS 7.5 рд╡реЗрдм рдлрд╝рд╛рд░реНрдо рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .NET 4.5 рд╣реИред рдХреЛрдИ рдЙрдирд╕реЗ рдпрд╣ рдирд╣реАрдВ рд▓реЗ рд░рд╣рд╛ рд╣реИред

@mattnischan

рдХреНрдпрд╛ рд╕реНрд╡-рд╣реЛрд╕реНрдЯ рдХреА рдЧрдИ HTTP рдХрд╣рд╛рдиреА netstandard20 рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ "Kestrel 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╣реИ? рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдиреИрдиреНрд╕реА рдХреЗ рд▓реЛрдЧ рдЗрд╕рдХреА рдмрд╣реБрдд рдкрд░рд╡рд╛рд╣ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рди рд╣реА рдореИрдВред

HttpListener netstandard20 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП netcore20 рднреА netcore20 рдкрд░ рдЬрд╛рдХрд░ рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

HttpListener netstandard20 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП netcore20 рднреА рд╣реИред

рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ HttpListener ?

@markrendle рд╕рдЪ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдПред

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

@mattnischan

HttpListener netstandard20 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП netcore20 рднреА рд╣реИред

рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ HttpListener рд╕реЗ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдареАрдХ рд╣реИ рддреЛ, рдиреИрдиреНрд╕реА .NETStandard 1.6 рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдХреЛрд░ 2.0 рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ Kestrel 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╣рддрд░?

@gingters рдореИрдВ рдЙрд╕ рдкреБрд▓ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдЬрдм рдЖрдк рдЙрд╕ рдкрд░ рдЖрдПрдВрдЧреЗред

рднрд╡рд┐рд╖реНрдп рдХреЛ рдХрднреА рднреА рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рди рдХрд░рдиреЗ рджреЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХрд░рдирд╛ рд╣реИ рддреЛ рдЖрдк рдЙрд╕рд╕реЗ рдорд┐рд▓реЗрдВрдЧреЗ, рддрд░реНрдХ рдХреЗ рдЙрдиреНрд╣реАрдВ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛ рдЖрдЬ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣рдерд┐рдпрд╛рд░ рджреЗрддреЗ рд╣реИрдВред
_~ рдорд╛рд░реНрдХрд╕ рдСрд░реЗрд▓рд┐рдпрд╕_

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

рдпрджрд┐ рдпрд╣ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддреЛ рдпрд╣ рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

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

рддреЛ рдЖрдк рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ Kestrel рдЬрд┐рддрдирд╛ рддреЗрдЬрд╝ рд╣реЛ, рдФрд░ рдЖрдкрдХреА рдПрдХрдорд╛рддреНрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ Kestrel рдирд╣реАрдВ рд╣реИ?

рдареАрдХ рд╣реИ рддреЛ, рдиреИрдиреНрд╕реА .NETStandard 1.6 рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдк рдЗрд╕реЗ рдХреЛрд░ 2.0 рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ Kestrel 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмреЗрд╣рддрд░?

@markrendle @benaadams рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧрд▓рдд рд╕рдордЭрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░, рдПрдХ рдЭрдЯрдХрд╛ рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ ASP.Net рдХреЛрд░ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреНрдп рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИрдВред рдЬрдм рдпрд╣ рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ, рддреЛ рдореИрдВ Kestrel 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдордВрдЪ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рд╣рдорд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рдордВрдЪ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ netcoreapp20 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

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

@gingters @gulbanana рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рд┐рдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕реЗ рдЯреВрдЯрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рднрд╡рд┐рд╖реНрдп рдХреА рддрд╛рд░реАрдЦ рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдврд╛рдВрдЪреЗ рдХреЗ рдордирдорд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

@mattnischan рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рдЙрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ :)

@stefanolson

рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдФрд░ рдореЗрд░реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ ASP.Net рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

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

ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИ; рдЕрдВрдд рдмрд┐рдВрджреБ, рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИред рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ, ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди/рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛ рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдЕрдВрддрддрдГ рдЗрд╕рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╕рдорд╛рди рд▓рдХреНрд╖реНрдп рди рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реИред

.NET Core рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╡рд░реЗрдЬ рд╣реИ; рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдРрдк рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдРрдк рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдкреВрд░реА рдорд╢реАрди рдФрд░ рд╣рд░ рдРрдк рдХреЗ рдмрдЬрд╛рдпред

рдХреБрдЫ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рд╣реЛрддреЗ рд╣реИрдВ; рддреЛ Wyam рд╕реНрдерд┐рд░ рд╕рд╛рдЗрдЯ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд░реЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ; рд░реЗрдЬрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ .NET рдорд╛рдирдХ 1.3 рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдХреЛрд░ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдХреБрдЫ рдХрд┐рдирд╛рд░реЗ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ:

рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ .NET рдорд╛рдирдХ 2.0 рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рдЙрдореНрдореАрдж рдХреЗ рдЕрдВрддрд░рд╛рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рднрд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдордПрд╕ рдкреВрдЫ рд░рд╣реЗ рдереЗ рдХрд┐ рд╡реЗ рдЕрдВрддрд░рд╛рд▓ рдХреНрдпрд╛ рдереЗ рддрд╛рдХрд┐ рд╡реЗ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗ рд╕рдХреЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП UWP рдРрдк рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ WebApp рдЪрд▓рд╛рдирд╛; рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрджрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрднреА рднреА рд╕рдорд░реНрдерд┐рдд рдерд╛, рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 4.7.1 рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдерд╛, рддреЛ рдЖрдк рдЕрднреА рднреА рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ UWP рд╡рд░реНрддрдорд╛рди рдореЗрдВ 4.7.1 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрдм рддрдХ ASP.NET рдХреЛ 4.7.2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддрдм рддрдХ 4.7 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред 3 рдЖрджрд┐ред рдпрд╣ рдПрдХ Sisyphean рдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдкрдХрдбрд╝ рдкрд╛рдПрдВрдЧреЗ; рддреЛ рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдХреЗ рдмрд╕ рд╡реНрдпрд╕реНрдд рдХрд╛рдо рд╣реЛрдЧрд╛?

рд╣рд╛рдВ, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдФрд░ рдЙрд╕ рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ :)

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ, рдЕрдЪреНрдЫрд╛ рд╕рд░ред рдореИрдВ

@davidfowl

ASP.NET рдХреЛрд░ рдЦреБрд▓рд╛рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдЕрдЧрд░ рд╣рдордиреЗ 3.0 рдореЗрдВ .NET Framework рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЛрдЧ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ), рддреЛ рдХреНрдпрд╛ рдЖрдк рдЙрд╕реА рдореГрдд рдЕрдВрдд рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ? рдЖрдкрдХреЗ рдкрд╛рд╕ ASP.NET Core 2.0 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╡рд░реНрд╖ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрдм 3.0 рдмрд╛рд╣рд░ рдЖ рдЬрд╛рдПрдЧрд╛, рддреЛ рдЖрдк рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдВрдЧреЗред рдЖрдк рд╡реИрд╕реЗ рднреА ASP.NET Core 1.1.x рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬреЛ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ ASP.NET Core 2.0 рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдкрд░ рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИред

рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣рдирд╛ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ) рдХрд┐ "рдХрднреА-рдХрднреА рд╣рдореЗрдВ рдкреВрд░реНрдг .net рд╕реЗ рдмреНрд░реЗрдХ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ" рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рдЧрд╛рдпрдм рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдХреЛрд░ 2.0 рдХреЗ рд░рд┐рд▓реАрдЬ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗред рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдкреВрд░реНрдг .net рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдореЗрдВ рдХрдИ рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИред рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рднреА рдХреЛрд░ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрд░ 2.0 рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣рдо рдХреЛрд░ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЗрд╕рд▓рд┐рдП рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЛ рдХреЛрд░ 3.0 рд╕реЗ рдмрд╛рдВрдзрдирд╛ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рддреЛ рдпрд╣ рдЕрднреА рд╣реИред рдХреНрдпреЛрдВрдХрд┐ 3.0 рдХреЗ рдкрд▓ рдореЗрдВ рдЗрдиреНрд╣реЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдХреЛрд░ рдореЗрдВ рдХрдо рдЕрд╡рд░реБрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрднреА рдпрд╣ рдПрдХ рдЖрдкрджрд╛ рд╣реИред

рдкрд╣рд▓реЗ рдореИрдВ рджреЛ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреЛрд░/рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рд╣рдорд╛рд░реЗ рдврд╛рдВрдЪреЗ рдХреЗ рдкреНрд░рд╡рд╛рд╕рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдЖрдХрд▓рди рдХрд░ рд░рд╣рд╛ рдерд╛ (рдЬреЛ @benadams рд╡рд░реНрдгрд┐рдд рд╣реИ) рдХреЗ рд╕рдорд╛рди рдХрд╣рд╛рдиреА: рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкрд░ рд╡реЗрдм рдкрд╛рд░реНрдЯ (рдЬреЛ рдЕрдм рдПрдорд╡реАрд╕реА/рд╡реЗрдмрдкреА рдкрд░ рд╣реИ) рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдкреВрд░реНрдг рд░рдЦреЗрдВ .net рдФрд░ рдлрд┐рд░ рдЕрдиреНрдп рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЛрд░ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдЬрдм рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдореЗрдВ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЬреЛ рд╣рдореЗрдВ рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ Oracle ADO рдкреНрд░рджрд╛рддрд╛ рдФрд░ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ ADO рдкреНрд░рджрд╛рддрд╛ (Corefx рдореЗрдВ рдЕрдиреНрдп рдЕрд╕рдВрдЧрддрддрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдордиреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдЦреЛрдЬрд╛ рд╣реИ)ред рдЕрдм рдпрд╣ рдпреЛрдЬрдирд╛ рдорд░ рдЪреБрдХреА рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреЛрд░ рд╡рд░реНрд▓реНрдб рдореЗрдВ рд╕рднреА рдирдИ рдЪреАрдЬреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП рдмреИрдардирд╛ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдпрд╣ рд╕рдм рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдордПрд╕ рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдореЗрдВ "рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ" рдордВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@markrendle рд╕рд┐рд░реНрдл рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдЖрд╡реЗрджрди рдЯреВрдЯрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред рдорд╛рдорд▓рд╛ рдЕрд▓рдЧ рд╣реИ:
рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЛрд░ 2 рдиреЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 1 рдореЗрдВ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреА рдмреБрдирд┐рдпрд╛рджреА, рдкреНрд░рд╛рдердорд┐рдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордп рдЫреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), рдЖрдкрдХрд╛ рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд╕рдХрддреА рд╣реИрдВред
рдХрд┐рд╕реА рдХреЛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдФрд░ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдк рдлрдВрд╕ рдЧрдП рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдЕрдм рдЖрдкрдХреЗ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдм, рдЪреВрдВрдХрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рдирд┐рдпрдорд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдпреЛрдЬрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рдиреЗ рдкрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреЛрдЯ рдпрд╛ рдмрджрддрд░ рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдПрдХ "рдареАрдХ рд╣реИ, рд╣рдо рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ" рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрд╕ рдЖрд╡реЗрджрди рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рднрддреНрддреЗ рдХреЛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@gingters рджреЗрдЦрд┐рдП, рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдЙрд╕ рдмрд╛рдЬрд╝рд╛рд░ рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рддрдХрдиреАрдХреА рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рд╣реЛрдВрдЧреЗ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреА рдХрдВрдкрдиреА рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреА рд╣реИред рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЗрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде, рдЖрдк рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рджреБрдирд┐рдпрд╛ рдХреЗ рдиреМрдХрд░рд╢рд╛рд╣ рдФрд░ рдирд┐рдпрд╛рдордХ рдХрд┐рддрдирд╛ рднреА рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ рдХрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ Microsoft рдХреЛ Apple рджреНрд╡рд╛рд░рд╛ рд╢рддреНрд░реБрддрд╛рдкреВрд░реНрдг рдЕрдзрд┐рдЧреНрд░рд╣рдг рдореЗрдВ рдЕрдзрд┐рдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ .NET рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмреЗрдЪреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рджреЗрд╢реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдордЬрдмреВрдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдЕрд╡реИрдз рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ SHA256 рд╕рд╣рд┐рдд рд╕рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдЯреИрдХ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИрдВ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдирд┐рдХреЛрд▓рд╕ рдпрд╛ рдЬреЗрдореНрд╕ рдпрд╛ _insert-name-of-Autofac-maintainer-here_ рдордВрдЧрд▓ рдЧреНрд░рд╣ рдкрд░ рдЬрд╛рдиреЗ рдФрд░ рдирдореА рд╡рд╛рд▓реЗ рдХрд┐рд╕рд╛рди рдмрдирдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░реЗрдВ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЪреБрдВрдмрдХреАрдп рдзреНрд░реБрд╡ рдЙрд▓рдЯ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд░реВрдк рд╕реЗ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рд╣рд░ рдПрдХ рдмрд┐рдЯ рдХреЛ рдорд┐рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

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

рдФрд░ рдпрд╣ рд╕рдм рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдордПрд╕ рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╣рдореЗрдВ "рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ" рдордВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

"рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛" рдЗрд╕реЗ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд╢рд┐рдкрд┐рдВрдЧ рдореЗрдВ "рдЕрддрд┐рд░рд┐рдХреНрдд 1 - 2 рд╕рд╛рд▓ рдХреА рджреЗрд░реА рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрдм рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдПрдХ рдкрд╛рдЧрд▓ рд╕рдордп рд╣реИред

рдЪреАрдЬреЗрдВ рддреЗрдЬреА рд╕реЗ рдмрджрд▓ рд░рд╣реА рд╣реИрдВ рдФрд░ рдордВрдЪ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@davidfowl рдФрд░ @DamianEdwards рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░рд╛ рднреНрд░рдо рдЗрд╕ рддрдереНрдп рд╕реЗ рдЖрдпрд╛ рд╣реИ рдХрд┐ ASP.NET Core 1.x .NET Framework рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдпрд╣ рдзрд╛рд░рдгрд╛ рдмрдиреА рдХрд┐ ASP.NET Core ASP.NET 4/MVC5 рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╣реИ; рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ рд╡реЗ рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рд░рдЦрддреЗ рд╣реБрдП рд╕рднреА рд▓рд╛рдн (рдЧрддрд┐ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ) рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рд╕реЛрдЪрдХрд░ рдЗрд╕рдореЗрдВ рдкрд▓рд╛рдпрди рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ/рд╕реНрдерд╛рдпреА рдЙрддреНрддрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ 4/рдПрдорд╡реАрд╕реА5 рдХреЛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкрд┐рдЫрдбрд╝рд╛ рд╕рдВрдЧрддрддрд╛ рдЪрд╛рд╣рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдЙрддреНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реИ (рдФрд░ рд╢рд╛рдпрдж рдЫреЛрдЯреЗ рд╕реБрдзрд╛рд░ рднреА рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдВ)ред

рдлрд┐рд░, ASP.NET Core рдПрдХ рдирдпрд╛ рдордВрдЪ рдмрдирдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрддреАрдд рд╕реЗ рдЕрд▓рдЧ рд╣реЛрдХрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЫрд▓рд╛рдВрдЧ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрд╕ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, (ASP.NET (рдлреНрд░реЗрдорд╡рд░реНрдХ) рдФрд░ (ASP).NET Core рджреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдФрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдорд╛рдиреНрдп рд╕рдбрд╝рдХреЗрдВ рд╣реЛрдВрдЧреА рдЬрд┐рдиреНрд╣реЗрдВ рдЧреНрд░рд╛рд╣рдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЪреАрдЬреЛрдВ рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА рдРрд╕рд╛ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

@markrendle рд╣рд╛рдБ, рдпрд╣ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдиреМрдХрд░рд╢рд╛рд╣реА рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪреАрдЬрд╝ рд╣реИред рдФрд░ рд╣рд╛рдВ, рдЖрдк рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕рд╛рдм рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ (рдФрд░ рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ)ред рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдирдХрд╛ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ рд╕реНрдерд┐рддрд┐ рд╣реИ рдХрд┐ a) рдПрдХ рдкреВрд░реНрдг рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (.NET рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ) рдХреЛ рдЫреЛрдбрд╝рдирд╛, рдЬреЛ .NET Core 1 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдерд╛, рдареАрдХ рд╣реИ, рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рдереЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪреВрдВрдХрд┐ рдпрд╣ рдЕрдм рд╣реБрдЖ рд╣реИ, рдЖрдк рдмреА) рдЕрдкрдиреЗ рдЕрдиреНрдп рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдореЗрдВ v1 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, "рд╣рд╛рдВ, рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣реЛрддрд╛ рд╣реИ"ред

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

@gingters рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдереЗ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ ASP.NET рдХреЛрд░ рд╡реЗрдм рдмрд┐рдЯреНрд╕ рдХреЛ .NET Core 2.x рдпрд╛ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд▓рд╛рдХрд░ рдЦреБрд╢ рдереЗ, рдФрд░ рдХреЛрд░ рдФрд░ рдкреВрд░реНрдг/UWP/рдЬреЛ рдХреБрдЫ рднреА рдХреЗ рдмреАрдЪ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ 2.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗ . рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .NET рдорд╛рдирдХ 2.x рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ .NET Core 2.x рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛ рдерд╛, рддреЛ рд╡реЗ рдкреВрд░реНрдг .NET рдХреЗ рд▓рд┐рдП рднреА рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛ рдЧрдП рд╣реИрдВред

@markrendle рдЙрд╕ рдмрд┐рдВрджреБ рддрдХ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ ASP.NET рдХреЛрд░ рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╣рдореЗрдВ 1x рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕рд╛рдЭрд╛ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@ рдЧрд┐рдВрдЧрд░реНрд╕ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрдк рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╛ рдХрд┐рд╕реА рддреГрддреАрдп рдкрдХреНрд╖ рдХреЛ рднреБрдЧрддрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)!

@markrendle рдирдВред рд╢реБрджреНрдз рд╡рд┐рд░рд╛рд╕рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдореГрдд рд╣реИрдВред рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдорд┐рдХреНрд╕ рдХреЛрдбрдмреЗрд╕ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рджрд╢рдХреЛрдВ рдкрд╣рд▓реЗ рд╕реЗ рдирдП рдирдП рдХреЛрдб/рд▓рд┐рдмреНрд╕ рдХреА рддрд╛рд░реАрдЦ рд╣реЛрддреА рд╣реИред netcoreapp рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдорд┐рд╢реНрд░рдг рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдм рдЖрдкрдХреЗ рдлреИрдВрд╕реА рдирдП рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рдмрд▓реНрдХрд┐ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдПрдордПрд╕ рд╡рд┐рд░реЛрдзреА рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЦреБрд╢реА-рдЦреБрд╢реА рдореБрдЭрд╕реЗ рдХрд╣реЗрдВрдЧреЗ "рдореИрдВрдиреЗ рддреБрдорд╕реЗ рдХрд╣рд╛ рдерд╛..." рдФрд░ рдлрд┐рд░ рд╣рдореЗрдВ Google рд╕рдорд╛рдзрд╛рдиреЛрдВ рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП netfx рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣рд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ netfx рдХреЛ рдЕрдм рд╕реЗ рдХрдо рд╕реЗ рдХрдо 2 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП asp.net рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рди рдХреЗрд╡рд▓ 1.x рдмрд▓реНрдХрд┐ 2.x рднреАред

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

@рдмреЗрдирд╛рджрдореНрд╕

"рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛" рдЗрд╕реЗ рдЕрддрд┐рд░рдВрдЬрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕реЗ рд╢рд┐рдкрд┐рдВрдЧ рдореЗрдВ "рдЕрддрд┐рд░рд┐рдХреНрдд 1 - 2 рд╕рд╛рд▓ рдХреА рджреЗрд░реА рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗрдм рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдпрд╣ рдПрдХ рдкрд╛рдЧрд▓ рд╕рдордп рд╣реИред

рдЪреАрдЬреЗрдВ рддреЗрдЬреА рд╕реЗ рдмрджрд▓ рд░рд╣реА рд╣реИрдВ рдФрд░ рдордВрдЪ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдмрдиреЗ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

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

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдЕрдЧрд░ рдПрдордПрд╕ .net рдХреЛ рдкреВрд░реА рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдЧрд╛ред рд╡реЗ рдЗрд╕рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВ, рд╡реЗ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬреЛ рд╢рдХреНрддрд┐рдпрд╛рдВ рд╣реИрдВ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рджреЗрддреА рд╣реИрдВ: .net full 'рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛' рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрднреА рд╣реИред

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

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

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

@kolectiv рдпрд╣ рд╕рдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдХрд┐ рдЙрджреНрдпрдо рдЕрдЪрд╛рдирдХ рдЙрджреНрдпрдо рдмрдирдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рддрд░рд╣ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд/рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ _my_ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд▓рд╛рдЧрдд рдЖрддреА рд╣реИред

рд╣рдорд╛рд░реЗ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдирд╛ рдЬреЛ рдЕрднреА рднреА ASP.NET рдХреЛрд░ 1.x (EF6, NHibernate, NServiceBus) рдкрд░ .NET 4.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрджрдореА, рдпреЗ libs netstandard20 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рд╣реИрдВ netstandard20 ред

рд▓рд┐рдм | рдкреАрд╕реАрдЯреА
---------- | -------------
EF6 | 62.74
рдПрдирдПрдЪрдмреЗрд░реНрдиреЗрдЯ | 67.39
рдПрдирдПрд╕ рд╕рд░реНрд╡рд┐рд╕рдмрд╕ | 65.68

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

рд╡рд╛рд╣ред

@markrendle

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

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

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

@markrendle рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВ? рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реА # рдХреЛрдб рдХреА рд╣рдорд╛рд░реА 15 рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд▓рд┐рдЦреЗрдВ? рд╣рдо рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдореЗрдВ рд╕рдВрдХреНрд░рдордг (рдзреАрд░реЗ-рдзреАрд░реЗ) рджреЗрдЦ рд░рд╣реЗ рдереЗ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрдм рдпрд╣ рд╕рд╛рде рдЖрдпрд╛ рддреЛ рд╕реНрдкреИрди рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛ рд░рд╣реА рдереА, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмреБрджреНрдзрд┐рдорд╛рди рд╣реИред

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

@FransBouma рддреЛ рд╣рдо рд╕рднреА рдХреЛ рднреБрдЧрддрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЙрджреНрдпрдо рдмреЗрд╡рдХреВрдлреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд▓рд╛рдЦреЛрдВ рдбреЙрд▓рд░ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрднреА рддрдХ рдЙрдирдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ? рд╡рд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@markrendle рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдХреЛрдб рдХреЛ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдмреЗрд╡рдХреВрдлреА рд╣реИ?

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

рдФрд░ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП System.Web рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрднреА рджреВрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реА рд╣реИред рдЖрдк рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реНрдерд┐рд░ рдФрд░ рднрд░реЛрд╕реЗрдордВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред

ASP.NET рдХреЛрд░ 1.x -> ASP.NET рдХреЛрд░ 2.x; рд╕рднреА рдПрдкреАрдЖрдИ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕рдорд╛рди рд╣реИрдВ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдмреНрд░реЗрдХ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд░ рднреА рдмрджрд▓ рджреЗрддрд╛ рд╣реИ

ASP.NET Core 1.x .NET Core 2.x рдФрд░ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, .NET рдорд╛рдирдХ 2.x (.NET Core 2.x рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ; рдФрд░ ASP.NET Core 2.x рдХреЗ рд╕рдорд╛рди рдПрдкрд┐рд╕ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдЯреЗрдкрд┐рдВрдЧ рд╕реНрдЯреЛрди рд░рд┐рд▓реАрдЬ рд╣реИред

ASP.NET Core 2.x рдмреНрд░реЗрдХ рд░рд┐рд▓реАрдЬрд╝ рд╣реИред рдпрд╣ рдЕрднреА рднреА .NET рдорд╛рдирдХ 2.x (.NET Core 2.x рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ ASP.NET Core 1.x рдФрд░ ASP.NET Core 2.x рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдПрдкреАрдЖрдИ-рд╡рд╛рд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ; рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • ASP.NET Core рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдФрд░ netstandard3.0 (2.x рд╣реЛ рд╕рдХрддрд╛ рд╣реИ) рдЬреИрд╕реЗ рдХреБрдЫ рдФрд░ рддреЗрдЬреА рд╕реЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕рдВрд╕реНрдХрд░рдг рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВред рдПрдХ рдмрд╛рд░ рдПрдХ рдЪреМрдерд╛рдИ рдХреА рддрд░рд╣ред
  • NetFx рдХреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ netstandard3.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдХреВрдж рд╕рдХрддреА рд╣реИ рдЬрдм рднреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧреАред рдпрд╣ рдирд╡реАрдирддрдо рдорд╛рдирдХ рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдпрд╣ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╣рд░ рдЪреАрдЬ рдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо ASP.NET Core 2.x рдПрдХ рдРрд╕реЗ рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рдЕрдиреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрдВрддрддрдГ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдмрд╕ рдереВрдХ-рдмреЙрд▓рд┐рдВрдЧред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

@bencyoung рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рд╕реНрд╡рд╛рд░реНрдереА рд╣реИ рдХрд┐ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЛ рдЖрдкрдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реА # рдХреЛрдб рдХреА 15 рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдШреВрдордирд╛ рдЪрд╛рд╣рд┐рдП (рдЬреЛ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ)ред рддреЛ рдЖрдк ASP.NET Core 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рдкреВрд░реНрдг рд╡рд┐рдВрдбреЛрдЬрд╝-рдУрдирд▓реА рдлреНрд░реЗрдорд╡рд░реНрдХ ASP.NET рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмреНрд░рд╛рдЗрдЯрди рдереНрд░реВ рд░реЙрдХ рдХреА рддрд░рд╣ рд▓реАрдЧреЗрд╕реА рд╕рдкреЛрд░реНрдЯ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рддреЛ рдПрдХ рдирдпрд╛ рдЦрд┐рд▓реМрдирд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдирд╣реАрдВ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдерд┐рдХ рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЛ рджреЛрдмрд╛рд░рд╛/рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмреЗрдХрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЙрди рд╕рднреА рдЪреАрдЬреЛрдВ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рджреЛ рджрд╢рдХ рдкреБрд░рд╛рдиреЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдбрдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╢рд╛рдпрдж рдЕрднреА рднреА рд╡реАрдмреА 6.0 рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП COM рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓реЗ 20 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡реЗ рдорд╛рдЗрдХреНрд░реЛ рдлреЛрдХрд╕ рд╣реЛрдВрдЧреЗред

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

NetFx рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдЬрдм рднреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧреА, netstandard3.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдХреВрдж рд╕рдХрддреА рд╣реИред

рдПрдХ .NET Framework рдЕрджреНрдпрддрди рдЧреНрд░рд╣ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдордЬрдмреВрд░ рдЕрджреНрдпрддрди рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ (рдЬреНрдпрд╛рджрд╛рддрд░) рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

рдПрдХ .NET рдХреЛрд░ рдЕрдкрдбреЗрдЯ рдПрдХ рдЕрдкрдбреЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЪреБрдирддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдЬрд╛рдирд╡рд░ рд╣реИрдВред

рдареАрдХ рд╣реИ, рдПрдХ рдЖрд╕рд╛рди рдХрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ ASP.NET рдХреЛрд░ рдбреЙрдХреНрд╕ рдХреЗ рдкрд╣рд▓реЗ рдкреГрд╖реНрда рд╕реЗ рд╣реА рдЗрд╕ рдкреГрд╖реНрда рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред

(рдпрд╛ рдмрд╕ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ "рдпрджрд┐ рдЖрдк ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ .NET Framework рдХрд╛ рдЪрдпрди рди рдХрд░реЗрдВ!"ред)

рд╡реЗ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рд╣реЛрдЧреА рдХрд┐ .NET рдврд╛рдВрдЪрд╛ рдЕрдВрддрддрдГ рдкрдХрдбрд╝ рд▓реЗрдЧрд╛ред

https://github.com/aspnet/Home/issues/2022#issuecomment -299609207 рд╣реИ

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

рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдпрд╣ рдкрдХрдбрд╝ рдореЗрдВ рдЖрддрд╛ рд╣реИ, ASP.NET рдЕрдЧрд▓реЗ .NET рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ ASP.NET рдХреЗ рд▓рд┐рдП .NET Framework рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреАрдЫреЗ рд░рд╣реЗрдЧрд╛ред

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

@рдмреЗрдирд╛рджрдореНрд╕

рдФрд░ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП System.Web рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрднреА рджреВрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реА рд╣реИред рдЖрдк рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реНрдерд┐рд░ рдФрд░ рднрд░реЛрд╕реЗрдордВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред

ASP.NET рдХреЛрд░ 1.x -> ASP.NET рдХреЛрд░ 2.x; рд╕рднреА рдПрдкреАрдЖрдИ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕рдорд╛рди рд╣реИрдВ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдмреНрд░реЗрдХ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд░ рднреА рдмрджрд▓ рджреЗрддрд╛ рд╣реИ
ASP.NET Core 1.x .NET Core 2.x рдФрд░ .NET Framework рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, .NET рдорд╛рдирдХ 2.x (.NET Core 2.x рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ; рдФрд░ ASP.NET Core 2.x рдХреЗ рд╕рдорд╛рди рдПрдкрд┐рд╕ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдЯреЗрдкрд┐рдВрдЧ рд╕реНрдЯреЛрди рд░рд┐рд▓реАрдЬ рд╣реИред
ASP.NET Core 2.x рдмреНрд░реЗрдХ рд░рд┐рд▓реАрдЬрд╝ рд╣реИред рдпрд╣ рдЕрднреА рднреА .NET рдорд╛рдирдХ 2.x (.NET Core 2.x рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ ASP.NET Core 1.x рдФрд░ ASP.NET Core 2.x рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдПрдкреАрдЖрдИ-рд╡рд╛рд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ; рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рд╣рд╛рдВ, рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВ :) ASPNET Core 1.x рдПрдХ рдореГрдд рдЕрдВрдд рд╣реИ: рдЖрдк рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рдХреЛрдб .net рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк libs рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдЬреЛ рдЖрдЬ .net рдкреВрд░реНрдг рд╣реИрдВ рдФрд░ рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ .net core /standard рдкрд░ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред ASP.NET рдХреЛрд░ 1.x рдХреЛ рдЪреБрдирдирд╛ рдЕрдм рдХреЗрд╡рд▓ рддрднреА рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╣реИ рдпрджрд┐ рдЖрдкрдХреА рдирд┐рд░реНрднрд░рддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА netstandard2.0/.netcore рдкрд░ рд╣реИ, рддреЛ рдЖрдк рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ asp.net core 2.x рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рдПрдХ рдореГрдд рдЕрдВрдд рдореЗрдВ рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рд╕реНрдерд┐рд░рддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ nginx рдФрд░ JVM рд╕реНрдЯреИрдХ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ system.web рдЪреБрдирдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╕реБрдЭрд╛рд╡ рдереЛрдбрд╝рд╛ рдХрдордЬреЛрд░ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛? :) рдпрд╣ рдПрдХ рдмрдбрд╝реЗ рд╕рдВрдЧрдарди рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирдирд╛ рд╣реИред рдЬрдм рддрдХ рд╡реЗ рдПрдХ рдРрд╕рд╛ рдРрдк рдирд╣реАрдВ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рд╣реИ рдФрд░ рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ (рджреБрд░реНрд▓рдн) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рд╡реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╢рд░реНрдд рд▓реЗрдВрдЧреЗ, рдФрд░ рд╡реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ? рдЕрдЧрд░ рдпрд╣ system.web рдпрд╛ JVM/nginx рдкрд░ рдЖрддрд╛ рд╣реИ рддреЛ рдЪреБрдирд╛рд╡ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рдпрд╣ рдЫреЛрдЯреА рдЪреАрдЬреЗрдВ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░ рдЕрдВрдХрд┐рдд рдХрд┐рдпрд╛ рдерд╛: sql рд╕рд░реНрд╡рд░ рдЙрджреНрдпрдореЛрдВ рдХреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╕реБрд╡рд┐рдзрд╛рдПрдБред рдЖрдк рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ .net core рдкрд░ рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпреЗ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВред рдЖрдХрд╛рд╢рд╡рд╛рдгреА? рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк asp.net core рдФрд░ рдЗрди features рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ .net full рдФрд░ asp.net core 1.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреЛрд░реНрдЯ/рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? (рдФрд░ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 'рдХреНрдпреВрдПрдлрдИ рдореЛрдб' рдореЗрдВ рдореМрдЬреВрдж рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдлрд╛рд░реНрдо рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?) system.web рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ?

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рд╕реАрдзреЗ .NET рдХреЛрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдореЗрдВ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЪреАрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдордВрдЪ рдФрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЗрддрдиреА рдХрд╕рдХрд░ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ .NET рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреБрдЫ рдирдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдмрдореНрдк (vNext рдХреЗ рд╕рд╛рде) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ ASP.NET рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ ASP.NET рдХреА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИред Microsoft рдХреЗ рдЕрдВрджрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...

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

@markrendle рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рд╕рдВрдХреНрд░рдордг рдпреЛрдЬрдирд╛ рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдРрд╕рд╛ рдХреЛрдИ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдЬреЛ рдЕрд╕рдорд░реНрдерд┐рдд рдкрдереЛрдВ рд╕реЗ рди рдЯрдХрд░рд╛рдПред рдпрджрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рдереЗ рдФрд░ рдлрд┐рд░ ASP.NET рдХреЛрд░ рдиреЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рддреЛ рдХрдо рд╕реЗ рдХрдо рд╣рдореЗрдВ рдкрддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдВрддрддрдГ рдПрдХ рд░рд╛рд╕реНрддрд╛ рдерд╛ ....

@markrendle рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреМрди рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬреЛ рджреЗрдЦрд╛ рд╡рд╣ рдЬреНрдпрд╛рджрд╛рддрд░ .net рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ .net рдФрд░ рдмрдбрд╝реА рд╡рд┐рд░рд╛рд╕рдд (рдЦрд░рд╛рдм рдирд╣реАрдВ) рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдмрдбрд╝рд╛ рдирд┐рд╡реЗрд╢ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЕрднреАрд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ node.js/python/go рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛, рд▓реЛрдЧ .net рдХреЛ sh*t рджреЗрддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╣рдо рдХрд┐рддрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рд╕реЛрдЪреЗрдВ .net рдХрд┐рддрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рди рд╣реЛред
рдЕрдЧрд░ рдпрд╣ рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдореЗрд░реА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рддреЛ рдореИрдВ рдПрдПрд╕рдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдиреИрдиреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдЧрд╛рд░рдВрдЯреА рдФрд░ рд╕рдорд░реНрдерди рдХреА рдЬрд░реВрд░рдд рд╣реИред рдФрд░ рд╡реЗ/рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдореЛрдЯреА рд░рдХрдо рдЕрджрд╛ рдХрд░рддреЗ рд╣реИрдВред

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

рдореБрдЭрдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрдХреНрд╖ ubuntu рдкрд░ PI рдкрд░ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрдХреНрд╖ рдиреЗ .NET рдХреЛрд░ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ .NET Framework рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рдФрд░ .NET рдХреЛрд░ рддреБрд▓рдирд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдкрд░реЗрд╢рд╛рдиреА рд╣реИред рдЗрд╕ рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреВрд▓рд┐рдВрдЧ рдФрд░ рд╕рднреА рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдереА, рдЗрд╕рд▓рд┐рдП рд╡реЗ рджрд░реНрдж рдЕрдВрддрддрдГ рджреВрд░ рд╣реЛ рд░рд╣реЗ рдереЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрднреА рднреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ ... EF рдХреЛрд░ EF6 рдпрд╛ NHibernate рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдордзреБрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд░реАрдм рднреА рдирд╣реАрдВ рд╣реИ рдФрд░ рд╡реЗ рдЬреАрдд рдЧрдП .NET Core 2 рдкрд░ рднреА рдирд╣реАрдВ рдЪрд▓рддрд╛ред SOAP рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП WCF (рд╣реЛрд╕реНрдЯ) рдХреА рдХрдореА рдХрд╛рдлреА рдмреЛрдЭ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдкреВрд░реЗ рджрд┐рди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рдд: рдЪрддреБрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдХрдИ рдРрдкреНрд╕ рдореЗрдВ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрдкрдбреЛрдореЗрди рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реА рдХрдо рд╕реЗ рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред ASP.NET MVC 5 рд╕реЗ MVC рдХреЛрд░ рддрдХ рдХреА рдЫрд▓рд╛рдВрдЧ рдПрдХ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рдереА рд▓реЗрдХрд┐рди .NET Core рдЬрд╛рдиреЗ рд╕реЗ VS рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

WPF рдХреЗ рдЕрдВрджрд░ ASP.NET Core рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдЬреИрд╕реА рдордЬреЗрджрд╛рд░ рдЪреАрдЬреЗрдВ рднреА рдЕрд╕рдВрднрд╡ рд╣реЛрдВрдЧреАред

рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рд╡рд┐рддрд░рдг рдмрдВрдж рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдЬ рдХреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

рдЕрдм рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЬрдмрдХрд┐ рдореИрдВ рдЪреБрдкрдЪрд╛рдк рд░реЛрддрд╛ рд╣реВрдВ рдФрд░ рдЕрдкрдиреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╢рд╛рдЦрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХреА рдЧрдИ рдереАрдВред

рдпрджрд┐ рдЖрдк рд╕реНрдерд┐рд░рддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ nginx рдФрд░ JVM рд╕реНрдЯреИрдХ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ system.web рдЪреБрдирдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╕реБрдЭрд╛рд╡ рдереЛрдбрд╝рд╛ рдХрдордЬреЛрд░ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛?

рдЗрд╕рдХрд╛ рдЪрд░рдо рдЕрдВрдд;)

рдЕрдЧрд░ рдпрд╣ system.web рдпрд╛ JVM/nginx рдкрд░ рдЖрддрд╛ рд╣реИ рддреЛ рдЪреБрдирд╛рд╡ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

рд╣рд╛рдБ, рдпрджрд┐ рдЖрдк JVM рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк ASP.NET Core 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд╡рд░реЛрдзрдХ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдСрдк рдФрд░ p/invoking рд╣реИ :)

рдпрджрд┐ рдПрдкрд┐рд╕ "рдХрд╛рдлреА рд╕рдорд╛рди" рд╣реИрдВ, рддреЛ рдЖрдк рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ 2x рдХреНрдпреЛрдВ рдирд╣реАрдВ рд░рдЦрддреЗ, рд▓реЗрдХрд┐рди "рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб" рдпрд╛ "рдиреЗрдЯрдХреЛрд░" рдХреЗ рд▓рд┐рдП рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд░рдЦрддреЗ рд╣реИрдВ?

рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ рдЬреЛ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ; рдФрд░ рд░рдирдЯрд╛рдЗрдо, рдЬреАрдЖрдИрдЯреА рдФрд░ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╡реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рд╡рд╣реА рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕рдВрдЧрддрддрд╛ ASP.NET 1.x рдФрд░ 2.x рдХреЗ рдмреАрдЪ рд╣реЛрддреА рд╣реИ; рдЙрдЬрд╛рдЧрд░ рдПрдкреАрдЖрдИ рд╕рддрд╣ рдкрд░, рдЖрдВрддрд░рд┐рдХ рдирд╣реАрдВ "рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ"ред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рд╕реАрдзреЗ .NET рдХреЛрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

рдЬреИрд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧ рд╣реИрдВред рдЖрдк dotnet/corefx рдкрд░ рдПрдХ рдПрдкреАрдЖрдИ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ValueTask рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдерд╛ ; рдЬреЛ рддрдм рдЯрд╛рд╕реНрдХ-рд▓рд╛рдЗрдХ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рдФрд░ рдЕрдм C#7 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдЬреИрд╕реЗ рд╣реА рдЖрдкрдХрд╛ рдПрдкреАрдЖрдИ .NET рдХреЛрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рдирд╛рдЗрдЯрд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдкреАрдЖрдИ рд╕рд╣реА рд╣реИ); рдпрд╛ рдпрджрд┐ рдЖрдк 6 рдорд╣реАрдиреЗ рддрдХ рд░реБрдХрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ coreclr/corefx рдХреА рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдкрд░ред

рдФрд░ рдлрд┐рд░ ASP.NET рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдЕрдм рдЖрдкрдХреЛ 2 рд╕рд╛рд▓ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ; рдЪреВрдВрдХрд┐ рдПрдкрд┐рд╕ рдХреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА; рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЦреЛрдЬ рд╣реЛрдЧреАред рдпрд╣ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдЪрдХреНрд░ рдореЗрдВ 2 рд╕рд╛рд▓ рдХреЗ рд╕рдВрдХрд▓рди рдЪрд░рдг рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдЬреИрд╕рд╛ рд╣реИред

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

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

рдХреНрдпрд╛ рд╣рдо рд╕реНрдкреИрди рдЖрджрд┐ рдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗ?

рд╣рд╛рдВ

@рдмреЗрдирд╛рджрдореНрд╕

рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдпрд╣ рдкрдХрдбрд╝ рдореЗрдВ рдЖрддрд╛ рд╣реИ, ASP.NET рдЕрдЧрд▓реЗ .NET рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ ASP.NET рдХреЗ рд▓рд┐рдП .NET Framework рдХрд╛ рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдпрд╣ рд╣рдореЗрд╢рд╛ рдкреАрдЫреЗ рд░рд╣реЗрдЧрд╛ред

рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдЕрдЧрд░ рдХрдо рд╕реЗ рдХрдо 1 рд╕рдВрд╕реНрдХрд░рдг рдУрд╡рд░рд▓реИрдк рд╣реИ (рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рдирд╡реАрдирддрдо рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд (рдПрдПрд╕рдкреА) рд╣реИред рдЙрд╕ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдиреЗрдЯ рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг)ред

рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдХрд╛ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рддрд░рдг рдХрд░реЗрдЧрд╛ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдпрд╛ .NET рдорд╛рдирдХ 2.0 рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ; рдЗрд╕рд▓рд┐рдП рд╡реЗ .NET рдХреЛрд░ рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдЬреЛ рдПрдкреАрдЖрдИ рдЕрдВрддрд░ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ?

@benaadams рд╣рд╛рдБ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ PlatformNotSupportedException рдХреЛ рдлреЗрдВрдХрддрд╛ рд╣реИ

@qrli рдпрджрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓рд░ рд╣реИ, рддреЛ рдЖрдк рдЙрди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдХреА рдХреЛ рдмрд╛рдж рддрдХ рдЫреЛрдбрд╝ рджреЗрдВред

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

рдХреНрдпрд╛ рдХреЛрдИ рдЕрдВрддрд┐рдо рд╕реВрдЪреА рд╣реИ рдХрд┐ рдХреМрди рд╕реА рд╡рд┐рдзрд╛рдирд╕рднрд╛рдПрдВ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдИ рд╣реИрдВ рдФрд░ рдХреМрди рд╕реА рдирд╣реАрдВ? рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ Microsoft.Extensions.* рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдФрд░ Microsoft.AspNetCore.Razor.Runtime (рдорд╛рди рд▓рд┐рдпрд╛ рдЧрдпрд╛) рднреА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП Microsoft.AspNetCore.Html.Abstractions рдХреЛ netstandard рдкрд░ рднреА рд░рд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреНрдпрд╛ Microsoft.AspNetCore.* netstandard рд░рд╣ рд░рд╣рд╛ рд╣реИ?

@bencyoung рдореЗрд░реА рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдВрдХреНрд░рдордг рдпреЛрдЬрдирд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХреЛрдВ рдХреЛ .NET рдХреЛрд░ 2.x (рдпрд╛ рдЬреЛ рднреА рдЙрд╕ рд╡рд┐рд╢реЗрд╖ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдкреВрд░реЗ рдмреНрд░рд╣реНрдорд╛рдВрдб рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╣реИ, рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рд╕реЗ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ HTTP рдпрд╛ рд╕рдВрджреЗрд╢ рдмрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдорд╛рдирдХ API рд╕реАрдорд╛, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдЪрд┐рдд рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рди рд╣реЛред

@markrendle рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ: рд╕реНрдЯреИрдХ рдУрд╡рд░рдлрд╝реНрд▓реЛ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЗрдЯреЗрдВрд╕реА 0.017ms рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд╛рдлреА рдиреЗрдЯрд╡рд░реНрдХ, рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдбрд┐рд╕реЗрд░рд┐рдПрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ GC рд▓рд╛рдЧрдд рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЬрдЯрд┐рд▓ рд╣реИ, рдорд╣рдВрдЧрд╛ рд╣реИ, рдФрд░ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реБрджреНрдз рдирдХрд╛рд░рд╛рддреНрдордХ рднреА рд╣реИред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрддрд┐ рдЬрдЯрд┐рд▓ рдмреБрд░реА рдЪреАрдЬ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред

@markrendle рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдореВрд▓рднреВрдд рд╕реЗрд╡рд╛ рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдмреНрд▓реЙрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ netstandard20 рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ netstandardbanana рдХреЗ рд░реЛрдбрдореИрдк рдкрд░ рдирд╣реАрдВ рд╣реИрдВред рд╣рдорд╛рд░реЗ рд▓рд┐рдП .NET рдХреЛрд░ рдЧреНрд░реАрдирдлреАрд▓реНрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдВрдкреВрд░реНрдг рдЧреНрд░реАрдирдлреАрд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред System.DirectoryServices рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ WCF рд╣реИ, рдФрд░ рдЕрдиреНрдп, рдпрд╣ System.Data рдФрд░ SqlClient рд╕рд╛рдорд╛рди рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП, System.Messaging ред

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

@NickCraver рдореЗрд░рд╛ рдорддрд▓рдм рдореБрдЦрд░ рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ SO рдкреЗрдЬреЛрдВ рдХреЛ рдЗрддрдиреА рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╕рд▓реА рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдФрд░ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп рд▓реЛрдЧ рдЕрджреНрднреБрдд рд╣реИрдВ, рд▓реЗрдХрд┐рди Google рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЕрдкрдиреЗ рдкреГрд╖реНрдареЛрдВ рдХреА рддрд░рд╣ рд╣реА рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВ, рдФрд░ рдЖрдк _рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдПрдХ рдмрдбрд╝реЗ, рдЬрдЯрд┐рд▓ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЖ рд░рд╣реЗ рд╣реИрдВред рдЕрдореЗрдЬрд╝реЕрди рдкреЗрдЬ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣реА рд╕реМрджрд╛ред рдореИрдВ рдЖрд╢рд╛рд╡рд╛рджреА рд╣реВрдВ рдХрд┐ ASP.NET Core рдПрдХ рдРрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХреА рдУрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╕рдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдЦреБрдж рдХреЛ рдореБрдХреНрдд рдХрд░рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рдореМрдХрд╛ рдорд┐рд▓рд╛ рд╣реИред рдкреВрд░реНрдг .NET рдХрд╛ рдЯрд░реНрдирд┐рдВрдЧ-рдП-рд╕реНрдореЙрд▓-рдЖрдЗрд▓реИрдВрдб рдЕрдкрдбреЗрдЯ рдЪрдХреНрд░ред

@jbogard рдореИрдВ рд╕рдорд╛рди рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдЬрдм .NET Core 2.0 рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЖрд╣реЗрдВред

@jbogard

рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЗрд▓рд╛

рдзрд╛рдЧреЗ рдХрд╛ рдЙрджреНрдзрд░рдг

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

рд╣рдо рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдХреА рдЧрддрд┐ рдФрд░ рдлреИрдВрд╕реА рдирдП рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЧрдПред рд╣рдорд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЖрд╕рд╛рди рдЕрдкрдЧреНрд░реЗрдб рдкрде рдХреА рдХрдореА рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рддреМрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ред

@jabrown85 . рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
ASP.NET Core рдЕрдм рддрдХ рднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рд░реЛрд▓рд░рдХреЛрд╕реНрдЯрд░ рд░рд╣рд╛ рд╣реИред
Csproj рдХреЗ рдЙрддрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдЕрдВрдд рдореЗрдВ "рдпрд╣ рдЕрдм рддреИрдпрд╛рд░ рд╣реИ" рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдирдпрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреЛрдИ рджрд┐рдорд╛рдЧ рдирд╣реАрдВ рдорд╛рдирд╛ред рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж, рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рд╣реИ: "рдХреНрдпрд╛ .NET Core рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рд╣рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдмрд╕ MVC5 рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП?"

рд╣рддрд╛рд╣рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдм рддрдХ рдХрдо рд╣реИ, ASP.NET рдХреЛрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╛рдердорд┐рдХ MVC 5 рдРрдк рдХреЗ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП 1.x рдкрд░ рдЕрдЯрдХ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдРрдк NHibernate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

@markrendle рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╣рддрд╛ рд╣реИ рдирд╣реАрдВ

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдкреВрд░реНрдг .NET -> netstandard рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд░реЛрдбрдореИрдк рд╣реЛрдВред рдХреБрдЫ рдореМрд▓рд┐рдХ рдЯреБрдХрдбрд╝реЗ рд╕рд┐рд░реНрдл ApiPort рд╕реЗ "рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ" рдХрд╣рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдХрдореА рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ ASP.NET Core 1.x рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд▓рд╛рдКрдВрдЧрд╛ред

рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП 1.x рдкрд░ рдЕрдЯрдХ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдРрдк NHibernate рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, NHibernate рдорд░рд╛ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛?

@benaadams рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВред рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдпрд╣ рдХрд░рддреА рд╣реИрдВ рдХрд┐ EF6 рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рд╕рдордХрдХреНрд╖ рдирд╣реАрдВ рд╣реИред рд╣рдо EF6 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВ рд▓реЗрдХрд┐рди рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ NH рдорд╛рд░реНрдЧ рдЬрд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

@benaadams рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдирд╣реАрдВ, рдпрд╣ рд░реБрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд▓рдЧрднрдЧ рдореГрдд рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рд╣рд░ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдХ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддрд╛ рд╣реИред рдПрдкреАрдкреЛрд░реНрдЯ .NET рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП 72.26% рдХрд╡рд░реЗрдЬ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрдо рд╕реЗ рдХрдо)ред

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

рдпрд╣ рдЙрджреНрдпрдо рдмрдирд╛рдо рдЧреИрд░-рдЙрджреНрдпрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред рдЖрдЬ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд╛рдпрдерди 2.x рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА "рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝" рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпрд╛ рдЕрдзрд┐рдХ рд╣реИ - рд╕рднреА рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдкрд╛рдпрдерди 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ (рдкрд╛рдпрдерди 3.0 рдХреЗ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рдЧрднрдЧ 9 рд╕рд╛рд▓ рдмрд╛рдж!)ред

рдХреНрдпрд╛ рдХреЛрдИ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдкреВрд░реЗ рдзрд╛рдЧреЗ рдХреЛ рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдпрд╛рддреНрд░рд╛/рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдХреЗ рджреМрд░рд╛рди рд╕рднреА 300+ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛ рд╣реИ рдФрд░ ... рдореБрдЭреЗ рдЕрднреА рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ "рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд" рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред

рдореБрдЭреЗ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ:

  • рд╕рдВрдкреВрд░реНрдг .NET Framework .NET Core 2 рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛
  • рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ $#$ netstandard2.0 $#$ . рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧреА
  • рдЕрдЧрд░ рдореБрдЭреЗ DirectoryServices рдпрд╛ Drawing рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореБрдЭреЗ Full Framework рдЫреЛрдбрд╝ рдХрд░ 2.0 рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛

рдореИрдВ рдПрдХ рддрд░рд╣ рд╕реЗ рдмрд╛рдХреА ... рд╡реНрдпрд╕реНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рд╕рдм рдХреБрдЫ рдЪреВрдХ рдЧрдпрд╛ред

@MaximRouller

рдЕрдЧрд░ рдореБрдЭреЗ DirectoryServices рдпрд╛ Drawing рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореБрдЭреЗ Full Framework рдЫреЛрдбрд╝ рдХрд░ 2.0 рдкрд░ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛

рдирд╣реАрдВ, рдпрджрд┐ рдЖрдк рдРрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ .net рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк AspNet Core 2.0+ рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

@MaximRouller , рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрднреА рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ Asp.Net рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рдпрджрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд╣реАрдВ рддреЛ рдпрд╣ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд╣реИ, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕реЗ рдЕрд╕реЗрдВрдмрд▓реАред рдбреНрд░реЙрдЗрдВрдЧ рдФрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЛ рдирдП рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░ рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА, рдкреБрд░рд╛рдиреА рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдЙрдиреНрд╣реЗрдВ рдкреЛрд░реНрдЯ рди рдХрд░реЗ, рдЗрд╕рд▓рд┐рдП, рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдмреЗрдХрд╛рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЕрд╕реЗрдВрдмрд▓реА рд╡рд┐рд░рд╛рд╕рдд рд╣реИрдВ рдФрд░ рдХрднреА рднреА рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдВрдЧреАред рдЕрдВрдд рдореЗрдВ, рдХреЛрдИ рднреА рдЬреЛ .NET рдврд╛рдВрдЪреЗ рдХреЗ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде .net рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдмрд╕ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЙрд╕реЗ MVC 5 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@davidfowl рд╡реИрд╕реЗ рдЗрд╕ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ "рддреЛ рд╣рдо рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?" рд▓реЛрдЧреЛрдВ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рд▓рд╛рдЧрдд/рд▓рд╛рдн рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЯреБрдХрдбрд╝рд╛ред

рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╕реВрдЪреА рдкрдврд╝реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рд╕реЗ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдореИрдВ рдЕрднреА рднреА 2.x рдХреЛ рдПрдХ рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рд░рд┐рд▓реАрдЬрд╝ (рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд▓рд╛рдн рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХрджрдо рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП) рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ 3.x рдЬрд╣рд╛рдВ рдЬреАрдд рд╣реИред рднрд▓реЗ рд╣реА 2 рджрд┐рди рдмрд╛рдж рд╕рд╛рдордиреЗ рдЖрдПред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд░ рддрд░рдл рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред

@davidfowl рдЖрдкрдиреЗ рдХрд╣рд╛:

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

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпрд╛ рдЖрдк .NET рдорд╛рдирдХ vNext рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕рдордп рдмрд╛рдж (рдХреБрдЫ рдорд╣реАрдиреЛрдВ рд╕реЗ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж) .NET рдЗрд╕реЗ рдкрдХрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ? рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЬреЛ рд▓реЛрдЧ рдмреНрд▓реАрдбрд┐рдВрдЧ рдПрдЬ рдкрд░ рд╣реИрдВ рдФрд░ рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ .NET рдХреЛрд░ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд▓реАрдЧреЗрд╕реА рдХреЛрдб рдХреЗ рд▓рд┐рдП .NET рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЕрдВрддрддрдГ ASP.NET рдХреЛрд░ рдХреЗ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред .NET рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХрд╛ рд╡рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ .NET рдорд╛рдирдХ рдХреЛ рд╕рдмрд╕реЗ рдХрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╛рде рд╣реА рдпрд╣рд╛рдВ рд╣рдо рдорд╛рдирдХ рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реЛрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕ рддрд░рд╣ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдкреАрдЫреЗ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреЗред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдпрджрд┐ рд╡реЗ .NET рдореЗрдВ рд╣реИрдВ рддреЛ рдирд╡реАрдирддрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЕрдЯрдХреЗ рдирд╣реАрдВ рд░рд╣рддреЗ рд╣реИрдВред

@jdom рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрд╕ рджрд░ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реВрдВ рдЬрд┐рд╕ рдкрд░ .NET Framework рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдзреАрдорд╛ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рддрд░рдг рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рд╢рдВрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдЕрд░рдмреЛрдВ рдорд╢реАрдиреЛрдВ рдореЗрдВ рдЬрдЧрд╣-рдЬрдЧрд╣ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдпрд░рд┐рдВрдЧ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХрд░рдирд╛ рднреА рдХреЛрдИ рдЫреЛрдЯреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдХреНрдпреЛрдВ .NET рдорд╛рдирдХ рдХреЛ рд╕рдмрд╕реЗ рдХрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рд╣рдо ASP.NET рдХреЛрд░ рдореЗрдВ .net рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╡реЙрдЯрд░рдорд╛рд░реНрдХ рдмрдврд╝рд╛рддреЗ рд░рд╣реЗрдВ рддреЛ рдпрд╣ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЦреБрдж рдХреЛ рдкреАрдЫреЗ рдирд╣реАрдВ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рд╡рд╛рджрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рди рдпреЗ рдПрдкреАрдЖрдИ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЖ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрд┐рд╕ рд╕рдордпрд░реЗрдЦрд╛ рдореЗрдВ? .NET 4.7 рдЕрднреА рднреА .NET рдорд╛рдирдХ 2.0 рдХреЗ рд╕рд╛рде рдлреАрдЪрд░ рд╕рдорддрд╛ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@davidfowl рд▓реЗрдХрд┐рди рдпрд╣ рдкреАрд╕реАрдПрд▓ рдХреЗ рд╕рд╛рде рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдПрдЧрд╛, рдпрд╣ рд╕рдмрд╕реЗ рдХрдо рдЖрдо рднрд╛рдЬрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░реНрдж рдмрди рдЬрд╛рдПрдЧрд╛, рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рддрд╛ рд╣реИред

@davidfowl рд▓реЗрдХрд┐рди рдпрд╣ рдкреАрд╕реАрдПрд▓ рдХреА рддрд░рд╣ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдПрдЧрд╛, рдпрд╣ рд╕рдмрд╕реЗ рдХрдо рдЖрдо рднрд╛рдЬрдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд░реНрдж рдмрди рдЬрд╛рдПрдЧрд╛,

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

рдкреАрд╕реАрдПрд▓ рдХреЛ рд╕реБрдкрд░ рдбреБрдкрд░ рд╕реНрдореЙрд▓ рдПрдкреАрдЖрдИ рд╕рд░рдлреЗрд╕ рдПрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдкрд░реЗрд╢рд╛рдиреА рд╣реБрдИред .NET рдорд╛рдирдХ 1.3-1.4 рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреБрдирд┐рдпрд╛рджреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

.NET рдорд╛рдирдХ рд╣рдореЗрд╢рд╛ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ред

ASP.NET Core рдФрд░ .NET Core рд╣рд▓реНрдХреЗ рд╡рдЬрди рдХреА рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рд░реНрд╡рд░ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЗред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╕рд╛рдВрд╕ рд╡реНрдпрд╛рдкрдХ рдордВрдЪ рд╕рдорд░реНрдерди (рд▓рд┐рдирдХреНрд╕, рдУрдПрд╕рдПрдХреНрд╕, рдЯрд┐рдЬрд╝реЗрди, рдкреАрдЖрдИ рдЗрддреНрдпрд╛рджрд┐ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рдерд╛) рдерд╛ред

@davidfowl

рд╣рдордиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЙрди рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ utf8 рд╣реЛрдирд╛ рд╣реИ (рдХрдИ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрди рдирдП рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ $#$ netstandard2.0 $#$ рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдХреЛ рднреА рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдХреНрдпрд╛ рд╡реЛ рд╕рд╣реА рд╣реИ?

рдЕрдм рдкреБрд░рд╛рдиреЗ 4.x рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдмрд╣реБрдд рдХрд╛рдо рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рддреЛ рд▓реЛрдЧ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╕реБрдкрд░ рдкреБрд░рд╛рдиреЗ рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрд╕рдкреА рджреЗрдЦреЗрдВ, рдЬрд┐рд╕реЗ 2002 рд╕реЗ рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рд▓рдЧрднрдЧ 15 рд╕рд╛рд▓ред рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ рдЬреЛ рдЕрднреА рднреА рдХреНрд▓рд╛рд╕рд┐рдХ ASP рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ! рдХреНрдпрд╛ Microsoft рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдРрд╕рд╛ рд╣реА рдХреБрдЫ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ? рдкреБрд░рд╛рдиреЗ 4.x рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ! рдЕрднреА рдирд╣реАрдВред рдпрд╣ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм .NET рдХреЛрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкреБрд░рд╛рдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реА рдиреЗрдЯ 4.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

@davidfowl

.NET рдорд╛рдирдХ рд╣рдореЗрд╢рд╛ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ред

рдПрдкреАрдЖрдИ рдпрд╛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЪреМрдбрд╝рд╛рдИ?

.netstandard рдХреЛ .netcoreapp рдХреЗ рд╕рдорд╛рди рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдХреНрдпрд╛ рдХреЛрдИ рдмреАрд╕реАрдПрд▓ рдЯреНрдпреВрдирд┐рдВрдЧ рд▓рдХреНрд╖реНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯ .netcoreapp рдХреЗ рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдореЗрдВ рдХрднреА рднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

.netstandard2.1 рдХреЛ .netcoreapp2.1 рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд░рдиреЗ рд╕реЗ .netcoreapp2.1 рдкрд╣рд▓реЗ рдФрд░ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж .netstandard2.1 рдХреЛ .net50 # рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ .netstandard2.1 .net50 .netcoreapp2.1

ASP.NET Core рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд╡реЗрдмрдПрдк рдврд╛рдВрдЪрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛, _рд╣рд╛рд▓рд╛рдБрдХрд┐_ рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп .NET рдорд╛рдирдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рд╡реЗрдмрдПрдк рдврд╛рдВрдЪрд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рд▓рдХреНрд╖реНрдп рдмрдирд╛ рд╕рдХреЗ рдЗрд╕рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕рдВрджрд░реНрдн API рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реЗ 2 рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде - .NET рдорд╛рдирдХ рдХреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд┐рддрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рд▓рдХреНрд╖реНрдп рд╣реИред

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

рд╢рд╛рдпрдж .NET рдорд╛рдирдХ 2.0 рдХреЗ рд╕рд╛рде ASP.NET Core 2.0 рдЗрдирд▓рд╛рдЗрди рдХрд╛ рджрд╛рдпрд░рд╛ рдХрдо рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ 2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ? рдХреБрдЫ рдЕрдЪреНрдЫреЗ рд╕рдорд░реНрдерди рд╕рдордпрд╕реАрдорд╛ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЗрд╕ рдкреВрд░реА рджреБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ .NET рдорд╛рдирдХ рдФрд░ рджреЛрдиреЛрдВ рдврд╛рдВрдЪреЗ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ рдЗрд╕рд▓рд┐рдП рдмрдврд╝рддреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдпрд╣ рдбрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░рд╛рдзрд╛рд░ рд▓рдЧрддрд╛ рд╣реИ ...

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ ASP.NET рд╕реЗ ASP.NET рдХреЛрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдирд╣реАрдВ рд╣реИред

ASP.NET рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рд░рд╣реЗрдЧрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдХреЛрд░ рдХреА рддрд░рд╣ рдирд╣реАрдВред

рд╕рдордп рдХреЗ рд╕рд╛рде рдкреНрд░рд╡рд╛рд╕рди рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди 100% рдореИрдЪ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рд▓реЛрдЧ рдЕрднреА рднреА рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрд╕рдкреА. рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рднреА рдареАрдХ рд╣реИред

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

рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдкрд╛рдЧрд▓ рдЪреАрдЬреЗрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЬреЛ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕ рд╕рдордп рдпрд╣ рд╕рдм рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВред рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдкреВрдЫрд╛ рдХрд┐ рд╣рдо .NET рдорд╛рдирдХ рдХреЗ рдмрдЬрд╛рдп .NET рдХреЛрд░ рдХреЛ рдХреНрдпреЛрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

  • рд╣рдордиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЙрди рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ utf8 рд╣реЛрдирд╛ рд╣реИ (рдХрдИ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред

рдпрд╣рд╛рдВ рдпрд╣ рдмрд┐рдВрджреБ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЧреЗрдо рдЪреЗрдВрдЬрд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдИрдПрдордУ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рд▓рдХреНрд╖реНрдпреАрдХрд░рдг рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╡реИрд╕реЗ рднреА netcoreapp20 рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред

  • рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдо рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рд╕рд░рдгрд┐рдпреЛрдВ/рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╕реНрддреЗ рд╕реНрд▓рд╛рдЗрд╕, рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рд╣рдордиреЗ Span . рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИрдФрд░ рдмрдлрд╝рд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВрдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдРрд░реЗ рдирдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП 0 рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рдирдП рддрд░реАрдХреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • рдЗрд╕рд╕реЗ Int, UInt рдЖрджрд┐ (TryParse) рдкрд░ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ Span . рд▓реЗрддреЗ рд╣реИрдВрдФрд░ рд╕реНрдкреИрди.
  • рдпрд╣ рдирдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдЯреАрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдкреИрди.
  • рдмрдлрд░рдФрд░ рд╕реНрдкреИрдирдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреИрдХ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрдкреИрди рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реА-рдкрд┐рди рдХрд┐рдП рдЧрдП рдмрдлрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдпрд╛ рдмрдлрд░.

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

Kestrel HTTP2 рдХреЛ 2.x рд╕рдордп рд╕реАрдорд╛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.1 рдкрд░ рд▓рдХреНрд╖рд┐рдд) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSL рд╕реНрдЯреНрд░реАрдо рдкрд░ рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
.NET рдХреЛрд░ рдкрд░ рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдбреБрдкреНрд▓реЗрдХреНрд╕ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдПрдХрд▓, рдЧреИрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рд┐рдЧреНрдирд▓рд░ рдореЗрдВ рдПрдЪрдЯреАрдЯреАрдкреА рдкрд░ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдВрдб рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред

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

  • рд╣рдордиреЗ HttpClient рдФрд░ System.Net.Http рд╕реЗ рд╣реЗрдбрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ (https://github.com/aspnet/HttpAbstractions/tree/d1d9bceff56cb44a194ae36923ce687e5e353006/src/Microsoft.Net.Http.Headers) рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░ рд╕рдХреЗрдВред рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ .NET Framework рдФрд░ .NET Core рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред .NET рдХреЛрд░ рдХреЗ рдкрд╛рд╕ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ)ред

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

  • рдХреЛрд░ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдлреЛрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдРрд╕реА рдЪреАрдЬреЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдЬреИрд╕реА рджрд┐рдЦрддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ https://github.com/aspnet/Common/tree/dev/src/Microsoft.Extensions.Primitives рдХреЗ рднреАрддрд░ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдЫреЛрдЯрд╛ BCL рд╣реИред

рдлрд┐рд░ рд╕реЗ, рд╣рдордореЗрдВ рд╕реЗ рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣ред

ASP.NET Core рдФрд░ .NET Core рд╣рд▓реНрдХреЗ рд╡рдЬрди рдХреА рд╕реВрдХреНрд╖реНрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рд░реНрд╡рд░ рд╕реНрдЯреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЗред

ASP.Net Core рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдореИрд╕реЗрдЬрд┐рдВрдЧ рдереАред .Net Core рдХреЛ рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╛рддреНрдордХ xplat рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдмрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрд╕реЗрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрднреА рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдХрд╣рддреЗ рдирд╣реАрдВ рд╕реБрдирд╛ред рдиреЗрдЯ рдХреЛрд░ рд╕рд┐рд░реНрдл рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рд╣реИред рдореИрдВрдиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ ASP.Net Core рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕, рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, DB рд╕реЗрд╡рд╛рдУрдВ рдЖрджрд┐ рдХреЛ рднреАред рдХреНрдпрд╛ .Net Core рдХреА рджрд┐рд╢рд╛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ "рдЬреЛ рднреА ASP.Net рдХреЛрд░ рдЯреАрдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреА рд╣реИ"?

ASP.NET рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рд░рд╣реЗрдЧрд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдХреЛрд░ рдХреА рддрд░рд╣ рдирд╣реАрдВред

рдпрд╣ рд╣реЛрдЧрд╛? рдореИрдВрдиреЗ рдЕрднреА рднреА рдПрдордПрд╕ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдЕрднреА рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реА рдЖрдВрдд рдХрд╣рддреА рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ред рдЯреАрдо рдХреЛ рдореБрдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП "рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдпрд╛ рдЗрд╕реЗ рдЦреЛ рджреЗрдВ" рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЕрднреА рд╡рд╣ рдХреНрд╖рдг рд╣реИред

рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ 4.6 рдЕрд╕реЗрдВрдмрд▓реА рд╣реИ, рдЬреЛ Oracle.Net рдбреНрд░рд╛рдЗрд╡рд░, NHibernate рдФрд░ RabbitMQ (рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА 4.6 рдореЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред ASP.Net рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд╕реНрддреБрдУрдВ, рдЕрдиреБрд░реЛрдзреЛрдВ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИред рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╣рдорд╛рд░реЗ ASP.Net Core 2 рдореЗрдВ, рдмрд┐рдирд╛ рдкреБрдирд░реНрд╕рдВрдХрд▓рди рдХреЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореЗрд░рд╛ рддреНрд╡рд░рд┐рдд рд╕рд╛рд░рд╛рдВрд╢
aspnetcore

@ stefan2410 рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░, рдирд╣реАрдВ, рдЖрдк рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдк рдЙрди рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░ 2.0 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рд╣реЛрдВред

@mattnischan

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

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдмрдВрджрд░ рдкреИрдЪ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЬрдм рддрдХ рдЖрдк рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдирдП рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдкреИрди рдПрдкреАрдЖрдИ 2.0 рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛рддрд╛)ред

рд╕реНрдкреИрди 2.0 рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИред рд╣рдо рдирдИ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдХрд░ рд╕рдХреЗрдВред рдпрджрд┐ ASP.NET Core 2.1 рдиреЗ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ .NET Framework рд╕рдорд░реНрдерди рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рддреЛ рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдмреАрд╕реАрдПрд▓ рдореЗрдВ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ .NET рдорд╛рдирдХ рдкрд░ рдХрд░ рд╕рдХреЗрдВред

рдореИрдВрдиреЗ рдХрднреА рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдХрд╣рддреЗ рдирд╣реАрдВ рд╕реБрдирд╛ред рдиреЗрдЯ рдХреЛрд░ рд╕рд┐рд░реНрдл рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рд╣реИред рдореИрдВрдиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ ASP.Net Core рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕, рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, DB рд╕реЗрд╡рд╛рдУрдВ рдЖрджрд┐ рдХреЛ рднреАред рдХреНрдпрд╛ .Net Core рдХреА рджрд┐рд╢рд╛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ "рдЬреЛ рднреА ASP.Net рдХреЛрд░ рдЯреАрдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреА рд╣реИ"?

рдирд╣реАрдВрдВ, .NET Core рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХрд╛ рдврд╛рдВрдЪрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдореВрд▓ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ ASP.NET Core рдХреЛ .NET Core рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рд▓рдВрдмрд╡рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЗрд╕ рднреНрд░рдо рд╕реЗ рдмрдЪрд╛ рд╣реЛрдЧрд╛ред

рдпрд╣ рд╣реЛрдЧрд╛? рдореИрдВрдиреЗ рдЕрднреА рднреА рдПрдордПрд╕ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдкреБрд╖реНрдЯрд┐ рдХрд░рддреЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдЕрднреА рднреА рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореЗрд░реА рдЖрдВрдд рдХрд╣рддреА рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╕рдордЭ рдЧрдпрд╛ред рдЯреАрдо рдХреЛ рдореБрдХреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП "рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ рдпрд╛ рдЗрд╕реЗ рдЦреЛ рджреЗрдВ" рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЕрднреА рд╡рд╣ рдХреНрд╖рдг рд╣реИред

рд╣рд╛рдВ, рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ HTTP/2 рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдФрд░ рдЯреАрдо рд╣реИ рдЬреЛ ASP.NET рдФрд░ IIS рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд╡реЗ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗ рдЙрд╕реА рдкреИрдорд╛рдиреЗ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ ASP.NET Core рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдордЬрдмреВрдд рднрд╛рд╡рдирд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреА ASP.NET рдХреЛрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреНрд▓реЗрдЧ рдЬреИрд╕реЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд░рд╣реЗрдЬ рдХрд┐рдпрд╛ рд╣реИред рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐, рдореБрдЭреЗ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рдФрд░ рдкрд░рд┐рдкрдХреНрд╡ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдпрд╛ рддреЛ netstandard2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ рдпрд╛ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡реЗ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдереЗред

рдореЗрд░рд╛ рдбрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдПрдорд╡реАрд╕реА 5/рд╡реЗрдм рдПрдкреАрдЖрдИ 2 рдРрдкреНрд╕ рдХреЛ рдПрдПрд╕рдкреА. рдорд╛рдирдХред рдпрджрд┐ рдЖрдкрдХреЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рдн рдирд╣реАрдВ рд╣реЛрдЧрд╛, рддреЛ рдХрд╛рд░реНрдп рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдХреНрдпреЛрдВ рдЙрдард╛рдПрдВ? рдпрд╣ рдПрдХ рдЪрд┐рдХрди рдФрд░ рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИ рдФрд░ рдореБрдЭреЗ рдмрд╕ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдбрд░ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рдХреБрдЫ рдХрд░реНрд╖рдг рдорд┐рд▓рдирд╛ рд╢реБрд░реВ рд╣реБрдЖред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ ASP.NET рдХреЛрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдЙрддрдиреЗ рд╣реА рд╣реИрдВ рдЬрд┐рддрдиреЗ рд╣рдо рд╕рднреА рдЪрд╛рд╣реЗрдВрдЧреЗред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдБред

рдпрджрд┐ ASP.NET Core 2.1 рдиреЗ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ .NET Framework рд╕рдорд░реНрдерди рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдирд╣реАрдВ, рдЗрд╕рдХрд╛ рд╕реАрдзрд╛ рд╕рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рдпрд╣ .NET рдорд╛рдирдХ 2.1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ ASP.NET рдХреЛрд░ 2.1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рд╕рд╛рд▓ рд▓рдЧреЗрдВред

рдЕрдиреНрдп рд╕рднреА .NET рдорд╛рдирдХ рдЕрдиреБрдкрд╛рд▓рди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдЬрд╝рд╛рдорд░реАрди / рдпреВрдирд┐рдЯреА / ...) рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдиред

.NET рдорд╛рдирдХ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо _рдЕрдВрддрддрдГ_ рдкреНрд░рдХрд╛рд╢рдорд╛рди рд╣реЛрдВрдЧреЗ, .NET рдХреЛрд░ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ __рдХрднреА рдирд╣реАрдВ_ рдкреНрд░рдХрд╛рд╢ рдХрд░реЗрдВрдЧреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЛрдЬрдирд╛ рдЕрднреА рднреА рд╣реИ рдХрд┐ рдкреВрд░реНрдг-рдПрдлрдПрдХреНрд╕ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рджреЗрд░реА рд╣реЛ?
(рдФрд░ рдпрджрд┐ рдиреЗрдЯ рдХреЛрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ .NET рдорд╛рдирдХ рднреА рдХреНрдпреЛрдВ рд╣реИ?)

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдмрдВрджрд░ рдкреИрдЪ рдкреНрд░рдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЬрдм рддрдХ рдЖрдк рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдирдП рдкреНрд░рдХрд╛рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдФрд░ рдореМрдЬреВрджрд╛ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВред

рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд╣ рд╣реИ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ 1.x рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рд╣реИ рдирд╛? рдХреНрдпрд╛ рдпрд╣ рдЕрдЪрд╛рдирдХ рд╕реЗ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ?

рд╕реНрдкреИрди 2.0 рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИред рд╣рдо рдирдИ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рдЫреЛрдЯреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдХрд░ рд╕рдХреЗрдВред рдпрджрд┐ ASP.NET Core 2.1 рдиреЗ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ .NET Framework рд╕рдорд░реНрдерди рдлрд┐рд░ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЧрд┐рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕реНрдкреИрди _never_ рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛?

рддреЛ рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдмреАрд╕реАрдПрд▓ рдореЗрдВ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛрдиреЛрдВ .NET рдорд╛рдирдХ рдкрд░ рдХрд░ рд╕рдХреЗрдВред

рд╡рд╛рд╣, рдирд╣реАрдВред рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ System.Collections.Generic.Dictionary рднреА рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА Microsoft.Net рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ред *

рд╣рд╛рдВ, рдкрд┐рдЫрд▓реЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ HTTP/2 рд╕рдкреЛрд░реНрдЯ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдПрдХ рдФрд░ рдЯреАрдо рд╣реИ рдЬреЛ ASP.NET рдФрд░ IIS рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд╡реЗ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗ рдЙрд╕реА рдкреИрдорд╛рдиреЗ рдкрд░ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ ASP.NET Core рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпреЗ рдЙрдЪрд┐рдд рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рдерд╛ред

рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд╣ рд╣реИ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ 1.x рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рд╣реИ рдирд╛? рдХреНрдпрд╛ рдпрд╣ рдЕрдЪрд╛рдирдХ рд╕реЗ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ?

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

рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЧрд┐рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕реНрдкреИрди рдХрднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛?

рдЗрд╕реЗ ASP.NET Core 2.0 рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╕рдордп-рд╕реАрдорд╛ рдЕрдм рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЕрднреА рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ ASP.NET Core 2.0 рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╕рдордп-рд╕реАрдорд╛ рдЕрдм рд╕рдВрд░реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЕрднреА рддрдХ рдпрд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

AFAIK, рд╕реНрдкреИрди рдПрдХ netstandard1.x рдкреИрдХреЗрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдПрдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╕рдорд╛рди perf' рдмреВрд╕реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ CLR рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд╛рдлреА рд╣реИ)ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: System.Memory рдкреИрдХреЗрдЬ рдореЗрдВ netstandard1.0 TFM рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ .NET 4.5 рдкрд░ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

image

рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рд╡рд╣ рд╣реИ рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ 1.x рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рд╣реИ рдирд╛? рдХреНрдпрд╛ рдпрд╣ рдЕрдЪрд╛рдирдХ рд╕реЗ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ?

рд╣рдо рдЖрдЬ рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ рдХреБрдЫ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдлреАрдЪрд░ рдХрд╛рдо рд░реЛрдХ рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдо рдЦреБрдж рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ .NET рдорд╛рдирдХ рдХреЗ рдмрд╛рд╣рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдХреЙрдкреА рдФрд░ рдкреБрди: рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдирдП рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛рдо рдХрд░ рд╕рдХреЗред рдпрд╣ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдореВрд▓рднреВрдд рдЕрдВрд╢ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЖрдЧреЗ рдЬрд╛рдХрд░ рдЫреВрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо (Microsoft) рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдХреНрдпреЛрдВ рдЧрд┐рд░рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕реНрдкреИрди рдХрднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛?

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

рд╡рд╛рд╣, рдирд╣реАрдВред рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдбрд┐рдХреНрд╢рдирд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдФрд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ System.Collections.Generic.Dictionary рднреА рдирд╣реАрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА Microsoft.Net рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ред *

рдареАрдХ рдпрд╣реА рдЖрдк рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВред рд╣рдо Microsoft.Extensions.Collections.Generic рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ рд╣рдо рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдФрд░ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЗ рд╕рд╛рде рд░рд╣рддреЗ рд╣реИрдВ (https://github.com/aspnet/DependencyInjection/blob/139d91e57dd31fcd5c6ddaf11ad1f771b5855807/src/Microsoft.Extensions.DependencyInjection/Internal/ConcurrentDictionaryExtensions.cs)ред рдпрд╣ рдЯрд┐рдХрд╛рдК рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ .NET Core рдХреЛ рд▓рд╛рдн рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред

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

@ 0x53A

рдпреЗ рдЙрдЪрд┐рдд рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдиреБрдЧреЗрдЯ рдкрд░ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреБрд░рд╛рдиреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЫреЛрдбрд╝рддреЗ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ? рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдп net20, net35, net40 рдЖрджрд┐ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП .NET Framework рдХреЗ рдЙрдЪреНрдЪрддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдЪрд╛рдирдХ рдХреНрдпреЛрдВ рдареАрдХ рд╣реЛрдЧреА? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛?

рдпрд╣ рд╢реЛ-рд╕реНрдЯреЙрдкрд░ рд╣реИред рдореБрдЭреЗ ASP.NET MVC 5/рд╡реЗрдм рдПрдкреА 2 рд╕реЗ рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░рджреНрдж рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдХрдИ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪреЗ рдЕрднреА рддрдХ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред рд╣рдо рдЕрднреА рднреА EF6.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ EF Core рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдкрдХреНрд╡ рдирд╣реАрдВ рд╣реИ рдлрд╝реАрдЪрд░ рддреБрд▓рдирд╛ ред

@PinpointTownes рдореЗрдВ рд╕реНрдкреИрди рд╣реЛрдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдореМрдЬреВрджрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

"рдЬрд╝рд░реВрд░рдд" рд╢рд╛рдпрдж рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╣реИред рд╕реНрдкреИрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рднреА рдЙрдиреНрд╣реЗрдВ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ ifdefs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореМрдЬреВрджрд╛ рдЧреИрд░-рд╕реБрдкрд░-рдкрд░рдлреА рдУрд╡рд░рд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЛ рд╕реНрдкреИрди рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдорд┐рд▓ рдЬрд╛рддрд╛ред

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рднрд╛рд╡рдирд╛рддреНрдордХ рд╣реИред рдпрджрд┐ рдЖрдк рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдВрддрддрдГ 1.x рд╕реЗ 2.x рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рдкрд╛рдКрдВрдЧрд╛ (рднрд▓реЗ рд╣реА рджреЗрд░реА рд╕реЗ)ред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп, netfx рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рдирд╣реАрдВ рд╣реИ (рдПрдХ lib рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ)ред

рд▓реЗрдХрд┐рди рдХреБрдЫ рдРрдкреНрд╕ рдХрднреА рднреА рдЬрдВрдк рдиреЗрдЯрдПрдлрдПрдХреНрд╕ -> рдиреЗрдЯрдХреЛрд░ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдиреЗрдЯрдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ 1.x рдХреЗ рд╕рд╛рде рдПрдХ рдореГрдд рдЕрдВрдд рдореЗрдВ рд╣реИрдВред

рдЙрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рдЕрдЧрд░ Asp.net core netfx рдкрд░ рдХрднреА рдирд╣реАрдВ рдЪрд▓рддрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ, рд╡реЗ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛, рдФрд░ рдЕрдм рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ (рдареАрдХ рд╣реИ, IMO) рдиреЗ рдзреЛрдЦрд╛ рджрд┐рдпрд╛ред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдХрд╛рдлреА рд╕рдордп рд▓рдЧрд╛ рджрд┐рдпрд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рдирд┐рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реВрдВ, рдореЗрд░рд╛ рдмрдбрд╝рд╛ рд╕рд╡рд╛рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЛрдЬрдирд╛ рдЕрднреА рднреА рд╣реИ рдХрд┐ рдкреВрд░реНрдг-рдПрдлрдПрдХреНрд╕ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рджреЗрд░реА рд╣реЛ?
(рдФрд░ рдпрджрд┐ рдиреЗрдЯ рдХреЛрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ .NET рдорд╛рдирдХ рднреА рдХреНрдпреЛрдВ рд╣реИ?)


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

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


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

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

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

рд╣рдорд╛рд░реА рд╕реЛрдЪ рд╣рдореЗрд╢рд╛ рд░рд╣реА рд╣реИ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдлреИрдВрд╕реА рдирдП libs (рдЬреИрд╕реЗ Kestrel) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдиреЗрдЯ рдХреЛрд░ рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ (рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд┐рдпрд╛, рдЕрдЧрд░ рдХреЗрд╡рд▓ рдЯреВрд▓рд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП), _or_ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреВрд▓ рдХреЛрд░ рдмрд┐рдЯреНрд╕ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧреЛрдВ рдХреА рдзрд╛рд░рдгрд╛ рдпрд╣ рд░рд╣реА рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢, рдпрджрд┐ рд╕рднреА рдирд╣реАрдВ, рддреЛ рдХреЛрд░рдПрдлрдПрдХреНрд╕ рдЬреЛ рдкреНрд░рдЧрддрд┐ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рдЗрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡реАрдиреЗрдХреНрд╕реНрдЯ рдпрд╛ рд╡реАрдиреЗрдХреНрд╕реНрдЯ + 1 рдмрдирд╛ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЗрд╕рд╕реЗ рдФрд░ рдЕрдиреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕реЗ (рд╣рдорд╛рд░реЗ 30k рдлреБрдЯ рдХреЗ рджреГрд╢реНрдп рд╕реЗ) рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдордВрдЪ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд╣реА рд╣реИред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ рдЬрдм рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХрд╕реНрдЯрдо рдЗрдореНрдкреНрд▓рд╛рдВрдЯ рдХреА рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реЛрдиреЗ рдХреЗ рджрд░реНрдж рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд╛рдлреА рдХрд░реАрдм рд╣реИрдВ рд▓реЗрдХрд┐рди рдХрд╛рдлреА рдмреАрд╕реАрдПрд▓ рдкреНрд░рдХрд╛рд░ рдпрд╛ ifdef рд╕реНрдкреЗрдЧреЗрдЯреА рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреА рдЕрдЬреНрдЮрд╛рдирддрд╛ рдХреЗ рдХрд╛рд░рдг рдЪреАрдЬреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯреНрд░реЗрдбрдСрдл рд╣реИрдВред

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

рдпрд╣ рджреЛрдиреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рдпрд╛ рддреЛ .NET рдкреВрд░реНрдг рдкрд░ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдареАрдХ рд╣реИ, рд╡реЗ рдмрд╕ рдХрдо рдмрд╛рд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рд░ 6 рдорд╣реАрдиреЗ рд╕реЗ рдПрдХ рд╡рд░реНрд╖ рддрдХ) рдпрд╛ рдпрд╣ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рд╣реИред рдпрджрд┐ рдпрд╣ рдкреВрд░реНрд╡ рд╣реИ, рддреЛ рдмрд╕ рдЧрддрд┐ рдЙрдард╛рдПрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдмрд┐рд▓ рдХрд╛ рднреБрдЧрддрд╛рди рди рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдмрд╣рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рдмрд╛рдж рдХреА рдмрд╛рдд рд╣реИ, рддреЛ рд╕рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдирд╣реАрдВ рд╣реИ, рддреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдПрдХ рдЭреВрда рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреБрдЫ рднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рд╡рд╣ рд╡реИрд╕реЗ рднреА .netcore рдХрд╛ рдПрдкреАрдЖрдИ рд╣реИ?

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

рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреБрдЫ рднреА рдореБрдЭреЗ рдЖрд╢реНрд╡рд╕реНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ _all_ .NET рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЬреАрд╡рд┐рдд рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░: рдореБрдЭреЗ рдХреЗрд╡рд▓ рджреЛ рд╕рдореВрд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ:

  • рдЬреЛ рд▓реЛрдЧ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдЬрдЯрд┐рд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдЧреЗ рдПрдХ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╣реИ
  • Microsoft рдЬреЛ рдЖрдЧреЗ рдПрдХ рд╕рдбрд╝рдХ рджреЗрдЦрддрд╛ рд╣реИ: .net рдХреЛрд░ рд░реЛрдбред

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

рдЬрдмрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдпрд╣ рд╕рдм рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ, рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2.0 рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИред

рд╣рдо рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рдЕрд╡рд░реЛрдзрдХ рдЕрднреА рд▓рдЧрднрдЧ рдЕрдирдиреНрдп рд░реВрдк рд╕реЗ Microsoft рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ (рдЬреИрд╕реЗ рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ рдЕрднреА рддрдХ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, Azure рд╕рд░реНрд╡рд┐рд╕ рдмрд╕ рдХрд╛ рдХреЗрд╡рд▓ рдмрд╣реБрдд рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╣реИ)ред

рдЬрдмрдХрд┐ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ Azure рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣/рдорд╣реАрдиреЛрдВ рдореЗрдВ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ EF Core рдореЗрдВ рдЬрд▓реНрдж рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдВ рд╣реЛрдВрдЧреАред

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

"рдмрд╕ 1.x рдкрд░ рд░рд╣рдирд╛" рдПрдХ рдЕрдЪреНрдЫреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░рд╣ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдВрдЧреЗ рдЬреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдпрд╛ рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди/рдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ) рдФрд░ рдмрд╕ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ 2.0

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

рдХреЛрдИ рднреА рдЬреЛ .NET рдврд╛рдВрдЪреЗ рдХреЗ рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде .net рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдмрд╕ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рдФрд░ рдПрдорд╡реАрд╕реА 5 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

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

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдХреЛрд╕рд╛рдЗрдЯрдо рд╣реИ, рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдПрдХ рджрд╢рдХ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреЗ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдХрдИ рдПрдорд╡реАрд╕реА 3, 4, 5 рдРрдк, рдХрдВрд╕реЛрд▓ рдРрдк, рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдПрдВ, рдХреЛрдб рдХреА рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд▓рд╛рдЗрдиреЗрдВред рд╣рдо рдХреБрдЫ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреА рдирд╣реАрдВ рд╣реИрдВред

рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ ASP.Net Core 1.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреБрдЫ рдирдП рд╡реЗрдм рдРрдкреНрд╕ рдмрдирд╛рдП рд╣реИрдВ, рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдкреВрд░реНрдг 4.6.2 рдврд╛рдВрдЪреЗ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпреЗ рдРрдкреНрд╕ рд╣рдорд╛рд░реЗ рдореМрдЬреВрджрд╛ рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрдбрд╝реЗ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордиреЗ project.json, рдлрд┐рд░ рдирдП .csproj, рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП .csproj рдХреЛ рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдорд┐рд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реБрдП, рдкреБрд░рд╛рдиреЗ .csproj рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП VS15 рдкрд░ рд╡рд╛рдкрд╕ рдЫреЛрдбрд╝ рдХрд░, рдкреБрд░рд╛рдиреЗ .csproj рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд░реНрдордирд╛рдХ рдорд╛рддреНрд░рд╛ рдХреЛ рдЬрд▓рд╛ рджрд┐рдпрд╛ рд╣реИ, рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИ рдкреНрд░рдгрд╛рд▓реАред рдирд┐рд░реНрднрд░рддрд╛, рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдмрд╛рдзреНрдпрдХрд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ, рдирд┐рд░реНрдорд╛рдг рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдореБрджреНрджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА .. рд╕реВрдЪреА рдФрд░ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИред

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

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВ рдЗрд╕рдХреА рджрд┐рд╢рд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдХреЗ рд╕рдВрдЪрд╛рд░ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреАред

рдУрд╣, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, Azure рд╕рд░реНрд╡рд┐рд╕ рдлреИрдмреНрд░рд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА .NET рдХреЛрд░ рдкрд░ рднреА рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИ - рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЕрд╡рд░реЛрдзрдХ рд╣реИред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдкреВрд░реНрдг .NET рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдЖрдк Microsoft (рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Azure) рдХреЗ рднреАрддрд░ рдПрдХ рдЙрдЪрд┐рдд .NET рдХреЛрд░ рдХрд╣рд╛рдиреА рд╡рд┐рддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

@cwe1ss рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╣рд╛рд▓рд╛рдВрдХрд┐ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреА рдХреБрдЫ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ (ASP.NET Core + .NET Full рдФрд░ ASP.NET + .NET Core)ред рдореИрдВ рдкреБрд░рд╛рдиреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдЦреБрд▓реЗ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЕрдм рдХрд░рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЯрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред

@davidfowl

рд╡рд┐рднрд┐рдиреНрди .NET рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдХрд╣рд╛рдиреА .NET рдорд╛рдирдХ рд╣реИред рдЖрдкрдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред<

рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ support.net рдорд╛рдирдХ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Microsoft рдкрд┐рдЫрдбрд╝реА рд╕рдВрдЧрддрддрд╛ рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рднреВрд▓ рдЧрдпрд╛ рд╣реИред<<

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, ASP.NET Core рдХреЛ рдХрднреА рднреА рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛... рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET 4.x рд╕реЗ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдкреНрд░рддрд┐рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдЖред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдмреИрдХрд╡рд░реНрдб рд╕рдВрдЧрддрддрд╛ рдЙрдЪреНрдЪ рдХреНрд░рдо рдмрд┐рдЯ рд╣реИ рддреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET 4.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдпрд╣ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ рдЬрдм рддрдХ рд╡рд┐рдВрдбреЛрдЬ рдЬреАрд╡рд┐рдд рд╣реИ рддрдм рддрдХ рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред<

рд╕реБрд░рдХреНрд╖рд╛ рдкреИрдЪрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╡реЗрдм рдорд╛рдирдХ рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рд╕реЗ рд╣рдо рдирд╡реАрдирддрдо рдорд╛рдирдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд╣реАрдВ рдКрдкрд░ HTTPS v2 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рджреЗрдЦрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдврд╛рдВрдЪрд╛ рдЗрди рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред рдЕрдЧрд░ рдореБрдЭреЗ рдврд╛рдВрдЪреЗ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рд╡рд╣ v4 рдпрд╛ v1 рд╣реЛ, рддреЛ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

рд╕реНрдЯреАрдлрди

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

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

рдкрд┐рдЫрд▓реА рдШрдЯрдирд╛ https://github.com/dotnet/roslyn/issues/17054 рдереА рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдареАрдХ рдХрд░ рджрд┐рдпрд╛, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЦрддреНрдо рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ support.net рдорд╛рдирдХ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИред

@stefanolson рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред .Net Standard 1.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдЬ рд╡рд┐рднрд┐рдиреНрди рдкреВрд░реНрдг рд░реВрдкрд░реЗрдЦрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред .рдиреЗрдЯ рд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп 4.6.1 рдкрд░ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдерд╛ред

@ рд╕реБрдЪрд┐рдорди рдореИрдВ рд╡рд╣рд╛рдВ рдЖрдкрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред рдореИрдВ рдереЛрдбрд╝рд╛ рдирд┐рд░рд╛рд╢ рд╣реВрдВ рдХрд┐ рд╡реЗ рдпрд╣ рдирд╣реАрдВ рд╕реАрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдирд╛ рд╣реИ рдФрд░ рд╕рдореБрджрд╛рдп рдкрд░ рдмрдо рдЧрд┐рд░рд╛рдирд╛ рд╣реИред рдЕрдЧрд░ рд╡реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рдФрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рддреЛ рд╡реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддреЗ рдереЗред

рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ support.net рдорд╛рдирдХ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИред

@stefanolson рдпрд╣ рдХрд░рддрд╛ рд╣реИред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рднрд┐рдиреНрди (рдореМрдЬреВрджрд╛) рд╕рдВрд╕реНрдХрд░рдг .NET рдорд╛рдирдХ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рджреЗрдЦреЗрдВ https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рд╣реЛ рдЧрдИ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдкрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреЛ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:

рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ REST API рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╣рдорд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ ".NET API-рдЯрд░реНрди-рдЗрди-REST API" рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред рдЗрд╕реЗ рдкрд╣рд▓реЗ .NET API рдХреЗ рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕рдХреА рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реИрдВред

рдЬрдм рд╣рдордиреЗ рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рд╛, рддреЛ рд╣рдо рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдПрд╕рдкреА.рдиреЗрдЯ рд╡реЗрдм рдПрдкреАрдЖрдИ рдЪреБрдирддреЗ рд╣реИрдВред рдЬрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╡реЗрдм рдПрдкреАрдЖрдИ ASP.NET vNext/5/Core, __and__ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ __ASP.NET Core NetFX__ рдкрд░ рдЪрд▓реЗрдЧрд╛, рддреЛ ASP.NET vNext/5/Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ред

рдЬрдмрдХрд┐ рд╣рдо рд▓рд┐рдирдХреНрд╕ рдФрд░ рдореИрдХрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреЛрд░реНрдЯ (рд╣рд┐рд╕реНрд╕рд╛) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рд╡рд┐рдВрдбреЛрдЬ-рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИрдВ (рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдордиреЗ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдерд╛, рдЬрд╛рдВрдЪреЗрдВ CoreCompat.* NuGet рдкреИрдХреЗрдЬ)ред

рдЗрддрдиреА рд▓рдВрдмреА рдХрд╣рд╛рдиреА, рдЕрдм рд╣рдо рдЦреБрдж рдХреЛ ASP.NET Core 1.x рдкрд░ рдмрдВрдж рдкрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд▓рдЧрднрдЧ рд╕реАрдорд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдмрдирд╛ рд░рд╣реЗрдЧрд╛ред рдФрд░ рдлрд┐рд░ рдХреНрдпрд╛? ASP.NET 4 рдкрд░ рд╡рд╛рдкрд╕?

рдореИрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рднреА рд╕рдВрдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдФрд░ .NET рдХреЛрд░ рдХреЗ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╕реАрдорд╛рдУрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдПрдХ рдЙрдЪреНрдЪ-рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓реА рдЗрдВрдЯрд░рдиреЗрдЯ-рдЙрдЬрд╛рдЧрд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреА рдореЗрдЬрдмрд╛рдиреА рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рд╣реЛрдЧрд╛ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЕрдзрд┐рдХрддрдо 10-20 RPS?

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдкреЛрд░реНрдЯ

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдиреЗрдЯ 4.x рдкрд░ рдореЗрд░рд╛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2017 рдХрд╛ рдЕрдиреБрднрд╡ рдЕрднреА рднреА .NET рдХреЛрд░ рд╕реЗ рдХрд╛рдлреА рдмреЗрд╣рддрд░ рд╣реИ - рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирдП рдкрд░реАрдХреНрд╖рдг рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ . рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдкрд░ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

рд╣рдо рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдФрд░ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╕рд╛рде-рд╕рд╛рде рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рдХреЛрдбрдмреЗрд╕ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рджреЛрд╣рд░реЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ (_рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ_ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдбреАрдмрдЧрд░) рдХреЗ рд╕рд╛рде рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реИред

рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЪреМрдВрдХрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдм рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рддрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ - рддреЛ рдХреНрдпреЛрдВ рди ASP.NET Core v3 рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рдП?

@mattnischan

@stefanolson рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред .Net Standard 1.x рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЖрдЬ рд╡рд┐рднрд┐рдиреНрди рдкреВрд░реНрдг рд░реВрдкрд░реЗрдЦрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред .рдиреЗрдЯ рд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп 4.6.1 рдкрд░ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЦрд┐рд░реА рдмрд╛рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдерд╛ред<

рдпрд╣ рдореБрдЭреЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ asp.net core .net core рдирд╣реАрдВ .net рдорд╛рдирдХ рдЪрд▓рд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрднреА рднреА рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ .net рдорд╛рдирдХ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ - рдЕрдЧрд░ рдЗрд╕реЗ рдмрдирддреЗ рд╣реА рд╡рд╕реНрддреБрддрдГ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЕрдЧрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдХреЛ .рдиреЗрдЯ рдорд╛рдирдХ 2.1 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдордп рдврд╛рдВрдЪреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ Asp.net рдХреЛрд░ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрди рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ред

рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡реЗ рдорд╛рдирдХ рдХреЛ рдмреЗрдХрд╛рд░ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ (рдпрджрд┐ рдореИрдВ рдЗрд╕ рднреНрд░рдорд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ)

рддреЛ... рдЗрд╕рдХреА рдмрд┐рд▓реНрдб 2017 рдХрд▓ рд╕реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣реА рд╣реИ; рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЯреАрдо рдЗрд╕рдХреА рддреИрдпрд╛рд░реА рдореЗрдВ рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рд╣реИред рд╢рд╛рдпрдж рдХреБрдЫ рдШреЛрд╖рдгрд╛рдПрдВ, рд╢рд╛рдпрдж рдирд╣реАрдВред рд╢рд╛рдпрдж, рдЙрдиреНрд╣реЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛рдВрд╕ рд▓реЗрдиреЗ рдХрд╛ рдХрдорд░рд╛ рджреЗрдВ рдФрд░ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдорд┐рд▓реЗрдВ?

рд╢рд╛рдпрдж рд╢реЛ рдХреЛ рдкрдХрдбрд╝реЗрдВ https://build.microsoft.com/ (рдмреБрдз 8:00 рдкреАрдПрд╕рдЯреА, 15:00 рдЬреАрдПрдордЯреА рдФрд░ рдЧреБрд░реБ рд╕рдорд╛рди?)

рд╣рдо рдФрд░ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВ; рд╢рд╛рдпрдж рдирд╣реАрдВред рдЪреАрдЬреЗрдВ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдирд╣реАрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, ASP.NET рдЯреАрдо рд╢рд╛рдпрдж рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреА рдФрд░ рд╕рднреА рдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдкрд░ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧреАред рд╣рд╛рд▓рд╛рдВрдХрд┐ @davidfowl рдмрд╣рд╛рджреБрд░реА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ!

@stefanolson рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡реЗ рдорд╛рдирдХ рдХреЛ рдмреЗрдХрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рдорд╛рдирдХ рдХреЛ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ (рдпрджрд┐ рдореИрдВ рдЗрд╕ рднреНрд░рдорд┐рдд рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .NET рдорд╛рдирдХ рдХреА рдмрд╛рдд рд╕рдВрдЧрддрддрд╛ рд╣реИред рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдЦрдХ .NET рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдХреЛрдИ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╣реЛрдВ, .NET рдХреЛрд░ рдкрд░ рд╣реЛрдВ, рдпрд╛ рдХреБрдЫ рдФрд░ рдЬреЛ .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реЛред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .NET рдХреЛрд░ рдХреА рдмрд╛рдд .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдлрд┐рд░ рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рд╣реИред .NET рдХреЛрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдФрд░ рддреЗрдЬрд╝реА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ utf8 рдореЗрдВ рдмрджрд▓рдирд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗред

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ:
.NET Core -> .NET Framework ASP.NET MVC -> WebForms рдХреА рддрд░рд╣ рд╣реИред

рдореИрдВ рдЯреВрд▓реАрдВрдЧ рдкрд╣рд▓реВ рдХреЛ рднреА рджреВрд╕рд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╡рд░реНрддрдорд╛рди рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛/рдирд┐рд░реНрдорд╛рдг/рдкрд░реАрдХреНрд╖рдг рдЖрджрд┐ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ рдФрд░ рдПрдХ рд╢рд╛рд╣реА рджрд░реНрдж рд╣реИред рдЕрдЧрд░ рд╣рдореЗрдВ "1.0 рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛" рд╣реЛрддрд╛ рддреЛ рдХреНрдпрд╛ рд╣рдо рдЕрднреА рднреА (рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ) рдмреЗрд╣рддрд░ рдкрд░рдл рдХреЗ рд╕рд╛рде рдирдП рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рдпрд╛ рдХреНрдпрд╛ рд╣рдо 1.x рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЬрд╛рддреЗ?

.NET рдХреЛрд░ рдХрд╣рд╛рдиреА рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рд╕реЗ рднрд░рд╛ рдПрдХ рдЕрджреНрднреБрдд рджреМрд░рд╛ рд╣реИред рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкрд┐рдЫрд▓реЗ рд╕рднреА "рдмрдХрд╡рд╛рд╕" (рд╕рдВрд╕реНрдХрд░рдг, рдирд╛рдордХрд░рдг, рдкреНрд░реЛрдЬреЗрдХреНрдЯ.рдЬреЗрд╕рди - .csproj рд╕рдВрдХреНрд░рдордг) рдХреЗ рдХрд╛рд░рдг ASP.NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдореИрдВ (рдФрд░ рдореИрдВ рд╣реВрдВ) .netstandard 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдпрд╣ рдкрд╣рд▓реА "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.NET Core 1.1 рдЕрднреА рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ рдЕрдЧрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рддрдХ рдЪрд▓реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рд▓реЛрдЧ __that__ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ ASP.NET Core рдХреЗ рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдХреНрд░рдп рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХрд╛рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдмрд╣рд╛рджреБрд░ рд╣реИрдВред

рдпрджрд┐ рдЖрдк рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ рдЕрд╡рд░реЛрдзрдХ (рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдХреНрдпрд╛ рд╣реИ: рд╣рдо рдЕрднреА рднреА EF6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдУрдкрди рдПрдХреНрд╕рдПрдордПрд▓ рдПрд╕рдбреАрдХреЗ рдиреБрдЧреЗрдЯ рдкреИрдХреЗрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдХреЛрдб рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ...

рдХреНрдпрд╛ рдХреЛрд░ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ netstandardXX рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕реЗ Asp.Net рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рд┐рд▓реАрдЬ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдЪрд░рдг рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ?

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдмрдлреЙрд░реНрдо/рдПрдорд╡реАрд╕реА рдРрдк рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдПрдирд╕реА рд╡реЗрдм рдПрдкреАрдЖрдИ рдХреЛ рдПрдХ рдПрд╕рдкреАрдП (рдФрд░ рдЕрдВрддрддрдГ рд╡реЗрдмрдлреЙрд░реНрдо рд╡рд┐рд░рд╛рд╕рдд рдРрдк рд╕реЗ) рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░рд┐рдЧрд░ рдЦреАрдВрдЪрдиреЗ рд╡рд╛рд▓реЗ рдереЗ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЛрд░рд╕реАрдПрд▓рдЖрд░ рдкрд░ рджреЗрд╡ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ Sybase (рдЕрдм SAP) Ase ADO.NET рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ (рдпрджрд┐ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ SAP рдкрд░ рдХрд╣реАрдВ рдмрдЯрди рджрдмрд╛ рд╕рдХрддрд╛ рд╣реИ ... рдореБрдЭреЗ рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдпрд╛ рдмрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╕реБрдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдкрддрд╛ рд╣реИред рдЕрдм 9 рд╕рд╛рд▓)ред

рдЗрд╕ рдЕрдВрдХ рдХреЛ рдкрдврд╝рдХрд░, рдореИрдВ рдЕрдм рдЗрддрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ рдХрд┐ рдореЗрд░рд╛ рдорд╛рд░реНрдЧ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВ рдпреЛрдЬрдирд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рдЪрд╛рд▓рдХ рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛ред рдХреНрдпрд╛ рдореБрдЭреЗ рдкрд┐рдЫрд▓реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ ASP.NET рдореЗрдВ рд╣реБрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдореЗрд░реЗ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдереЗ рдФрд░ рдореБрдЭреЗ рдХреЗрд╡рд▓ WebApi2 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЗ рддрд╣рдд рдПрдПрдирд╕реА 1.x рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдХрднреА рднреА рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ 2.x рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдПрдХ рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рджреЗрдЦреВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЕрдЧрд▓реЗ 10-15 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ (рд╡реЗрдмрдлреЙрд░реНрдо рдРрдк рдореЗрдВ рд╣реИ 1.1 рдврд╛рдВрдЪреЗ рдХреЗ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)?

@davidfowl

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

рд░реБрдХреЛ рдХреНрдпрд╛?

рд╣рдо рд╕рднреА рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реИрдВред рд╣рдо рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд╕рдорд░реНрдерди рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдм рдЕрдЪрд╛рдирдХ рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдо SOL рд╣реИрдВ? рдХрд┐ .NET Framework рдФрд░ рдЙрд╕ рдкрд░ рдирд┐рд░реНрдорд┐рдд рдЕрдирдЧрд┐рдирдд рдЧреИрд░-рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реНрдкреИрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддрдХ рдХрднреА рднреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА?

рдпрд╣ рдЕрдм рдХреЗрд╡рд▓ ASP.NET рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЗрд╕рдХреА рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдВрддрддрдГ рд╕рднреА рдХреА рдорджрдж рд╕реЗ рдХреБрдЫ рд░рд╛рд╕реНрддреЗ рд╕реАрдзреЗ рдХрд░ рд▓реЗрдВрдЧреЗ рдФрд░ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕рднреА рдкрдХреНрд╖реЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред

рдореБрдЭреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдХрд╛ рдмреЗрд╕рдмреНрд░реА рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рд╣реИ

рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рд╕рдордЭрд╛, рддреЛ net coreapp 2.0 рдПрдХ рд╕рдВрдЧрддрддрд╛ рд╢рд┐рдо рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдЬреЛ рд╣рдорд╛рд░реЗ ASP.NET Core 2.0 рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╣рдорд╛рд░реА рд╡рд┐рд░рд╛рд╕рдд NetFx рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЬреИрд╕реЗ, net461) рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рджреЗрдЧрд╛ред
рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╢рд┐рдо рдХреА рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд┐рдпреЛрдЬрд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ/рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХрд╣рд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ?

@dgaspar рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: netcoreapp2.0 net461 рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА net461 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЙрди API рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ рдЬреЛ netcoreapp2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗрдЯ рдХреЗ рднреАрддрд░ рдореМрдЬреВрдж рд╣реИрдВ, рддреЛ рдЖрдк рд╡реИрд╕реЗ рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪреЗрдВ, рдЬрд┐рд╕реЗ рдЖрдк рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╡рд░реНрдЧ рдФрд░ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╡рд╣рд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

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

@NickCraver рдХрд┐рд╕реА рдХреЛ рднреА рдпрд╛рдж рд╣реИ ...

"imports": [ "dnxcore50", "portable-net45+win8" ]

рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдкреНрдкрдгреА рдореИрдВрдиреЗ рджрд┐рд╕рдВрдмрд░ рдореЗрдВ рдХреА рдереАред 11 рдЕрдВрдЧреВрдареЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдП рдЧрдП:

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

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

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ node.js рд╣рдореЗрдВ рд╕рднреА netfx рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

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

UI рдлреНрд░реЗрдорд╡рд░реНрдХ рддреЗрдЬреА рд╕реЗ рдмрджрд▓рддрд╛ рд╣реИ, Winform рд╕реЗ web рддрдХред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ/рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЬреАрд╡рд┐рдд рд░рд╣рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдирдП рдЪрдордХрджрд╛рд░ UI рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдп/рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛/рдкреБрдирдГ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдпрд╛ рддреНрдпрд╛рдЧрдирд╛ рд╣реЛрдЧрд╛? рдирд╣реАрдВ, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдирдпрд╛ рдЪрдордХрджрд╛рд░ 5 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХреБрдЫ рдФрд░ рдЯреНрд░реЗрдВрдбреА рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд╡реНрдпрд╡рд╕рд╛рдп/рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред

@qmfrederik

рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЪреМрдВрдХрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдм рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░рд┐рд▓реАрдЬрд╝ рд╕реЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рддрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ - рддреЛ рдХреНрдпреЛрдВ рди ASP.NET Core v3 рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рд╣рдо рдЖрдЧреЗ HTTP2 рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдЯреВрд▓реАрдВрдЧ рдкрд╣рд▓реВ рдХреЛ рднреА рджреВрд╕рд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╡рд░реНрддрдорд╛рди рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛/рдирд┐рд░реНрдорд╛рдг/рдкрд░реАрдХреНрд╖рдг рдЖрджрд┐ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд╣реБрдд рдЦрд░рд╛рдм рд╣реИ рдФрд░ рдПрдХ рд╢рд╛рд╣реА рджрд░реНрдж рд╣реИред рдЕрдЧрд░ рд╣рдореЗрдВ "1.0 рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛" рд╣реЛрддрд╛ рддреЛ рдХреНрдпрд╛ рд╣рдо рдЕрднреА рднреА (рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ) рдмреЗрд╣рддрд░ рдкрд░рдл рдХреЗ рд╕рд╛рде рдирдП рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рдпрд╛ рдХреНрдпрд╛ рд╣рдо 1.x рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдлрдВрд╕ рдЬрд╛рддреЗ?

рд╣рд╛рдБ, рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

@davidfowl

рд╣рдо рдЖрдЧреЗ HTTP2 рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред<

рддреЛ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 2.0 рдореЗрдВ рдЙрдкрд▓рдмреНрдз HTTP2 рд╕рдорд░реНрдерди 1.x рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╡реАрдирддрдо рддрдХрдиреАрдХ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдЬреЛ рдХреБрдЫ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЫрд╣ рдорд╣реАрдиреЗ рд╕реЗ рдПрдХ рд╕рд╛рд▓ рддрдХ рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрддрддрдГ рдмрд╣реБрдд рдкреАрдЫреЗ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдХреЛрдбрд╢реЗрдпрд░рд┐рдВрдЧ рдФрд░ рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ рдкреВрд░реНрдг .net рдврд╛рдВрдЪреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВ:

  • рдЬрдм рдореИрдВ рд╡рд┐рд░рд╛рд╕рдд рдореЙрдбреНрдпреВрд▓ рдХрд╣рддрд╛ рд╣реВрдВ, рддреЛ рд╡реЗ netfx рдпрд╛ c++/cli dll рдХреЗ рдЖрдзрд╛рд░ рдкрд░ dll рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдХреБрдЫ рджреЗрд╢реА dll рдХреЛ рдкрд┐рдирд╡реЛрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рд╡реНрдпрд╛рдкрд╛рд░/рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рдХреЛрдИ COM рдирд╣реАрдВ, рдХреЛрдИ рдПрдПрд╕рдкреАрдиреЗрдЯ рдирд╣реАрдВред рд╡реЗ рдмреБрд░реЗ рдирд╣реАрдВ рд╣реИрдВред рд╡реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдмрди рдЬрд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ .net рдХреЛрд░ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред
  • рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИред рд╣рдореЗрдВ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЛ рд╕рдм рдХреБрдЫ рд╣реЛрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рд╛рд▓ рд▓рдЧреЗрдВрдЧреЗред
  • рддрдХрдиреАрдХреА рд╕реНрдЯреИрдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдзреАрдореА рд╣реИред рд╣рдо рд╕рднреА рдЕрдЬрдЧрд░ 3 рдЙрджрд╛рд╣рд░рдг рдЬрд╛рдирддреЗ рд╣реИрдВред рд╡реЗ рдбреЛрдореЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИрдВред

@danielcrabtree

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .NET рдХреЛрд░ рдХреА рдмрд╛рдд .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдлрд┐рд░ рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХрд░рдирд╛ рд╣реИред .NET рдХреЛрд░ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдФрд░ рддреЗрдЬрд╝реА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред<

рдЬреЛ рд╢рд╛рдирджрд╛рд░ рд╣реИред рдЪреБрдиреМрддреА рдпрд╣ рд╣реИ рдХрд┐ рдореМрдЬреВрджрд╛ рдХреЛрдб рдЖрдзрд╛рд░реЛрдВ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВ рдФрд░ рд╣рдо рдЙрдиреНрд╣реЗрдВ .net рдХреЛрд░ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдЕрдЧрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдЙрдкрд▓рдмреНрдз рдерд╛ рддреЛ рдиреЗрдЯ рдХреЛрд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдореИрдВ рд╣рд░ рдЬрдЧрд╣ .net рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореЗрд░рд╛ рдХреЛрдб wpf рдФрд░ ASP.net рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдореИрдВ рдирд╡реАрдирддрдо рд╡реЗрдм рддрдХрдиреАрдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдкреАрдЫреЗ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ (рд╕рднреА?)

рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдФрд░ рдХрд╣реАрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ .NET рдХреЛрд░ рдХреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдордВрдЪ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рдореБрдЦ рд╡рд┐рдХреНрд░рдп рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдЗрд╕ рдмрд╛рддрдЪреАрдд рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

https://twitter.com/James_M_South/status/861595907782987776

рдФрд░ рдКрдкрд░ рдЯрд┐рдкреНрдкрдгреА; рдореЗрд░рд╛ рдЬреЛрд░ред

.NET рдХреЛрд░ 2 рдореЗрдВ рд▓рд╛рдкрддрд╛ рд╢реЗрд╖ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ System.DirectoryServices рдФрд░ System.Drawing рд╣реИрдВред рд╣рдо рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреИрдЯ рдкреИрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЧрд░реНрдореА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ .NET рдХреЛрд░ рдкрд░ рджреЛрдиреЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЗрдореЗрдЬрд╢рд░реНрдк рдХреЗ рд╕рд╛рде System.Drawing рджреНрд╡рд╛рд░рд╛ рдЫреЛрдбрд╝реЗ рдЧрдП рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдореЗрд╣рдирдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдм рдореИрдВ рдмрд╣реБрдд рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ рдФрд░ рдереЛрдбрд╝рд╛ рдЕрд╕рдВрддреБрд╖реНрдЯ рдФрд░ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ:

рдЕрдм .NET Core рднреА рдХреНрдпрд╛ рд╣реИ?

рдпрд╣рд╛рдВ рдПрдордПрд╕ рдбреЙрдХреНрд╕ рд╕реЗ рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

.NET Core рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд╡рд┐рдХрд╛рд╕ рдордВрдЪ рд╣реИ рдЬрд┐рд╕реЗ Microsoft рдФрд░ GitHub рдкрд░ .NET рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ, рдореИрдХрдУрдПрд╕ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рд╡рд╛рдЗрд╕, рдХреНрд▓рд╛рдЙрдб рдФрд░ рдПрдореНрдмреЗрдбреЗрдб / IoT рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд╣ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдлрд┐рд░ рд╕реЗ рд╣реИред рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рд╕реЗ рд╡рд┐рдХрд╛рд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рдмрд╣реБрдд рднреНрд░рдо рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИред

рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЧрдпрд╛ рд╣рд░ рд╡рд┐рд╡рд░рдг рдЕрд▓рдЧ рд▓рдЧрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдо:

  1. рдХреГрдкрдпрд╛ рдПрдХ рд╕рднреНрдп, рд╕реБрд╕рдВрдЧрдд, рдХрд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖реНрдп рд╣реЛ рдФрд░ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдордЧреНрд░ рд╕рдордЭ рд╣реЛред
  2. System.DirectoryServices , рдФрд░ System.Drawing . рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реЛрдбрдореИрдк рдкрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

System.Drawing рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдФрд░ рдЪрд┐рдВрддрд╛рдЬрдирдХ рджреЛрдиреЛрдВ рд╣реИред рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЙрд╕ рдПрдкреАрдЖрдИ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдХреНрдпреЛрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╕рд░реНрд╡рд░ рдкрд░ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ (рдорд▓реНрдЯреА рдереНрд░реЗрдбрд┐рдВрдЧ, рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдк, рдЖрдИрд╕реАрд╕реА, EXIF, рдХреНрд╡рд╛рдВрдЯрд┐рдЬрд╝реЗрд╢рди, рдЕрдиреБрдХреНрд░рдорд┐рдд рдкреАрдПрдирдЬреА рдФрд░ рдЗрд╕реА рддрд░рд╣)ред

рдпрд╣рд╛рдБ рдмрд╣реБрдд рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдпреЛрдЧреНрдп рдирд╛рдо рдФрд░ рдЪреЗрд╣рд░реЗ рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рд╢реЛрд░ рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди:

  • рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗрд╡рд╛рдПрдВ
  • рдбреНрд░рд╛рдЗрдВрдЧ (рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)
  • рдПрдлрдИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХ рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддреАрди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЛрдВ рдХреА рдЧрддрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдирд┐рдЬреА рддреМрд░ рдкрд░, рдореИрдВ рдЬрд┐рд╕ рдЪреАрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ EF6 рдХреЗ рдХрд╛рд░рдг net4x рдкрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ EFCore ... рдареАрдХ рд╣реИ ...: рдЯреНрд░реЛрд▓рдлреЗрд╕:

@stefanolson
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрд╕реЗ рд╕рд╛рдЭрд╛ рдХреЛрдб рдХреЛ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдлрд┐рд░ рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ wpf рдФрд░ ASP.NET рд╕реЗ рдФрд░ ASP.NET рд╕реЗ .NET рдХреЛрд░ рдФрд░ рдЕрдиреНрдп .NET рдХреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ред

@JimBobSquarePants
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреЗрдЯ рдкреИрдХ .NET рдХреЛрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмреИрдарддрд╛ рд╣реИред рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИред

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

@stefanolson
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдкреИрдХ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдПрдкреНрд▓реАрдХреЗрд╢рди рдмрдирд╛рдиреЗ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреЛ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

рдЬрд░реНрдорди рдЖрдИрдЯреА рд╕рдорд╛рдЪрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
https://www.golem.de/news/asp-net-core-2-0-microsoft-veraergert-net-entwickler-mit-support-entscheidung-1705-127712.html

рдзрдиреНрдпрд╡рд╛рдж @danielcrabtree рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдореИрдВрдиреЗ рдХрд┐рд╕реА рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рд╣реИред

рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред Xaml рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

@alexwiese рдЕрдкрдиреА рд╕рд╛рдВрд╕ рд░реЛрдХрдХрд░ рди рд░рдЦреЗрдВред

рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред Xaml рдХреЛ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдЬрд╛рд░реА рд░рдЦреЗрдВ; рдореИрдВ рдХрд╛рдЯ рд▓реВрдВрдЧрд╛ред рдЖрдк рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ Xaml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЬрд╛рд░реА рд░рдЦреЗрдВ; рдореИрдВ рдХрд╛рдЯ рд▓реВрдВрдЧрд╛ред рдЖрдк рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ Xmal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо UI ("рдЧреНрд░реАрди рд╕реНрдХреНрд░реАрди" рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдЬрд╝реИрдорд░рд┐рди рдРрдк рдФрд░ рдПрдХ рдПрдВрдЧреБрд▓рд░ рдПрд╕рдкреАрдП рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рд╕реНрдХреНрд░реАрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ), рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реНрдпрд╡рд╕рд╛рдп рдирд┐рдпрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд╛рд╣, рдареАрдХ рд╣реИ рддреЛ рдЖрдк рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЛ рдПрдЪрдЯреАрдПрдордПрд▓ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ? рдХрд╛рдлреА рдЙрдЪрд┐рдд

рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдЖрдк рд╕рд┐рд░реНрдл рдЯреНрд░реЛрд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рд╡рд╛рд╣, рдареАрдХ рд╣реИ рддреЛ рдЖрдк рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЛ рдПрдЪрдЯреАрдПрдордПрд▓ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ? рдХрд╛рдлреА рдЙрдЪрд┐рдд

рдмрд┐рд▓рдХреВрд▓ рдирд╣реА; рдореИрдВ рдкрд╣рд▓реЗ JSON рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ

рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рд╕рдорд╛рдЪрд╛рд░ рд▓реЗрдЦ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ: https://www.infoq.com/news/2017/05/ASPNET-Core-2

@cwe1ss рд▓реЗрдЦрдХ рд╣реИрдВ @Grauenwolf

@alexwiese @yaakov-h рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрдврд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛; рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

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

рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХрджрдо рд╣реИ рдЬрд┐рд╕реЗ рдЕрдВрддрддрдГ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди 2019 рдХреЗ рдЕрдВрдд рдпрд╛ 2020 рдХреА рддрд░рд╣ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрджред рдлрд┐рд░ рднреА, рдЖрдк рдЕрднреА рднреА рдЙрди рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдореЙрдбрд▓ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЪреАрдЬреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛ рдЪреБрдирд╛ рд╣реИред

рдФрд░ рдирд╣реАрдВ, ASP.NET Core 1.x рд╡рд╣рд╛рдВ рдХреЛрдИ рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рдЖрд╕рд╛рди рдкреНрд░рд╡рд╛рд╕ рдкрде рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд░рдордгрдХрд╛рд▓реАрди рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреА рдЕрдкрд░рд┐рдкрдХреНрд╡рддрд╛ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреА рдорд╛рдирд╕рд┐рдХрддрд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдВрддрд░ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рджрд┐рд╢рд╛ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

@davidfowl netcore рдХреЗ рд▓рд┐рдП edge.js рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рдПрдкреАрдЖрдИ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП netfx рдФрд░ netcore рдХреЗ рдмреАрдЪ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдХреНрдпрд╛ рддрдм рдпрд╣ рдЦрд╛рдХрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдпрд╣ рдлрд┐рд▓рд╣рд╛рд▓ VS2017 рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИред

image

рдХреНрдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдмрдХрд╡рд╛рд╕ рд╣реИ, рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЦрд┐рд▓реМрдирд╛ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдкреНрд░рд╛рдЗрдо рдЯрд╛рдЗрдо рдФрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд░реА рдФрд░ рдХреЛрдбрд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╣реИ, рдЖрдк рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдФрд░ рдЯреНрд╡рд┐рдЯрд░ (рд╣реБрд░реНрд░реЗ!) рд╕рд╛рдорд╛рди рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди .. рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреМрди рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ рдЖрдк рдЙрджреНрдпрдореЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрдбрд╝реЗ рдЧреЛрдж рд▓реЗрдиреЗ рдФрд░ рдареЛрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╛ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╣рд┐рдкреНрдкреА?!?

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

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

рдиреЛрдЯ рдЬрд╛рд╡рд╛ рдиреЗрдЯреНрдЯреА (https://netty.io/) рдХреЗ рд╕рд╛рде рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рд╢реВрдиреНрдп рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЖрджрд┐ рдХреЗ рд╕рд╛рде рддреЗрдЬреА рд╕реЗ рдЖрдИрдУ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рдЕрдВрдд рдореЗрдВ рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЗрдзрд░-рдЙрдзрд░ рдШреВрдордиреЗ рдФрд░ рдЗрдирдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВред рд╣рдо рдЙрддреНрддрд░реЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ ...

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

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

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

@JimBobSquarePants рдореИрдВ рдЖрдкрдХреЛ System.Drawing рднрд╛рдЧ рдкрд░ рджреВрд╕рд░рд╛ рд╕реНрдерд╛рди рджреЗрддрд╛ рд╣реВрдВред рдЕрдиреНрдп рд░реЗрдкреЛ рдореЗрдВ System.Drawing рд╡рд╛рдкрд╕ рд▓рд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЪрд░реНрдЪрд╛рдПрдВ рд╣реИрдВред рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдФрд░ рдлрд┐рд░ рд╕рднреА рдУрдПрд╕-рдПрд╕ рдкрд░ System.Drawing рдХреЗ рд▓рд┐рдП "рдХреЙрдореНрдкреЗрдЯ рдкреИрдХ" рд╣реЛрдЧрд╛ред

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

рдареАрдХ рд╣реИ, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдХреБрдЫ рдореБрджреНрджреЗ рджрд╛рдВрд╡ рдкрд░ рд╣реИрдВ:

  1. рдпрд╣ рдмрд▓реНрдХрд┐ рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  2. рд▓реЛрдЧ рдлреИрд╕рд▓реЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдереЗред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреА рджрд┐рд╢рд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреА рднрд╛рд╡рдирд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реИред
  3. рдХреЛрдИ "рднрд╡реНрдп рдпреЛрдЬрдирд╛" рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдореБрджрд╛рдп рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рд░реНрдгрдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, .NET Core рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛, рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрд╕реНрдХрд░рдг рдерд╛ред рдлрд┐рд░, .NET рдорд╛рдирдХ 2.0 рдХреЗ рд╕рд╛рде, рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ .NET рдХреЛрд░ 2 рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдЪрд┐рдд рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ (рдХреЛрдИ UWP, WinForms, рдЖрджрд┐ рдирд╣реАрдВ)ред
  4. .NET Core 2 рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реБрдУрдВ рдХреЛ рдпрд╛рдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рд╣реИрдВ, рдЬреИрд╕реЗ System.DirectoryServicesред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  5. ASP.NET Core 2 рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реВрдВред рдпрджрд┐ рдЕрдиреБрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЕрддреНрдпрдзрд┐рдХ рдХрдард┐рди рд╣реИ, рддреЛ рдРрд╕рд╛ рди рдХрд░реЗрдВред ASP.NET Core 2 рдХреЛ рдХреЗрд╡рд▓ .NET Core 2 рдкрд░ рдЪрд▓рд╛рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдлреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЙрддреНрдкрд╛рдж рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╢рд╛рдпрдж рдЙрдирдХреЗ рд╕рдВрдмрдВрдз рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ред

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

@davidfowl рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл HTTP 2.0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ; рдпрджрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ HTTP 2.0 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ HTTP 2.0 рд╕рдорд░реНрдерди рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде ASP.NET Core 2.0 рд▓рдХреНрд╖реНрдп NetFX рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рд╢рд╛рдпрдж рдПрдХ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдореЙрдбрд▓ рднреА рддрд╛рдХрд┐ рд╕рдореБрджрд╛рдп рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдкрд░ HTTP 2.0 рдХрд░ рд╕рдХреЗ рдпрджрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

@cokkiy @popcatalin81 @xprzemekw рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд░рдЪрдирд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдХрд┐рд╕реА рдХреА рдорджрдж рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИрдВред

@davidfowl https://github.com/aspnet/Home/issues/2022#issuecomment -300141134 рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрджрдо рдЙрдард╛рдиреЗ рдХреЗ рд╡реИрдз рдХрд╛рд░рдг рд╣реИрдВ

рдЗрд╕реЗ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ 3.0 рдХрд╣реЗрдВ):

  • EF Core рдЕрднреА рддрдХ EF 6.0 рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЧрд╛рдпрдм рд╣реИрдВ
  • рдХреЛрдИ рдЙрддреНрдкрд╛рджрди рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ System.Drawing рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди
  • рдирд╣реАрдВ System.DirectoryServices
  • office xml sdk рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдерд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2017-05-01 https://www.nuget.org/packages/DocumentFormat.OpenXml/ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИред
  • рдПрдордПрд╕ рд╕реНрдХреЛрдк рдХреЗ рдмрд╛рд╣рд░ рдХреЗ рдЕрдиреНрдп рдкреИрдХреЗрдЬ .net рдХреЛрд░ (рдирд┐рдмрд░реНрдирдиреЗрдЯ, рд╡рд┐рднрд┐рдиреНрди рдбреАрдмреА рдкреНрд░рджрд╛рддрд╛, ikvm) рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВред

рдЗрд╕реЗ рдХрднреА рдХреНрдпреЛрдВ рди рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рд▓реЛрдЧреЛрдВ рдиреЗ .net рдХреЛрд░ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд┐рд░рд╛рд╕рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдРрдкреНрд╕ рдкреЛрд░реНрдЯ рдХрд┐рдПред
  • рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рдиреЗ рдФрд░ рдЗрд╕рдХреА рдЬреНрдпрд╛рджрд╛ рдкрд░рд╡рд╛рд╣ рди рдХрд░рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдХрд░реЗрдВред
  • рдХреБрдЫ рддреГрддреАрдп рдкрдХреНрд╖ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдХрднреА рднреА .net рдХреЛрд░ рдкрд░ рдкреЛрд░реНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдпрдХреАрдирди рдЙрдиреНрд╣реЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рд░рд╛рдп рд╣реЛ рд╕рдХрддреА рд╣реИ)

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

@рдХреБрдХреНрдХреАрдореЛрдирд╕реБрддрд╛

рд▓реЛрдЧреЛрдВ рдиреЗ .net рдХреЛрд░ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд┐рд░рд╛рд╕рдд рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдРрдкреНрд╕ рдкреЛрд░реНрдЯ рдХрд┐рдПред

рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рд╣рдорддред рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдШреЛрд╖рдгрд╛ рдХреА рдереА рдХрд┐ ASP.NET Core .net core рдФрд░ .net рджреЛрдиреЛрдВ рдЪреМрдЦрдЯреЗ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдм рдЙрдиреНрд╣реЗрдВ AspNet Core 1.x рдореЗрдВ рдЫреЛрдбрд╝рдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рдЕрдВрддрд┐рдо рд╕рд╛рд░рд╛рдВрд╢ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдПрдХ рдпрд╛ рджреЛ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

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

2.) .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛, рдкреВрд░реНрдг-рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдзрд╛рд░рд┐рдд .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдпрд╛рдиреА рдЖрдкрдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдо / рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдРрдк рд╕реЗ рдорд╛рдирд╛рд░реНрде рд╕реЗрд╡рд╛) рдХреЗ рднреАрддрд░ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рд╕рд╣рдорддред рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдШреЛрд╖рдгрд╛ рдХреА рдереА рдХрд┐ ASP.NET Core .net core рдФрд░ .net рджреЛрдиреЛрдВ рдЪреМрдЦрдЯреЗ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдм рдЙрдиреНрд╣реЗрдВ AspNet Core 1.x рдореЗрдВ рдЫреЛрдбрд╝рдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ .csproj рдФрд░ msbuild рдореЗрдВ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдорд╛рдл рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ (рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ) .NET рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ (рдПрдПрд╕рдкреА) .NET рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рд╕рдмрд╕реЗ рдмрдбрд╝реЗ ASP.NET рднрд╛рдЧ рдХреЗ рд▓рд┐рдП)ред рддреЛ рд╕рдВрдЧрддрддрд╛ рдХреНрдпреЛрдВ рд╕рд░реНрд╡реЛрдкрд░рд┐ рдереА (рдФрд░ рдмрд╣реБрдд рджрд░реНрдж рдХрд╛ рдХрд╛рд░рдг рдмрдиреА), рд▓реЗрдХрд┐рди рдЕрдм рдирд╣реАрдВ рд╣реИ (рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрд╣реБрдд рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИ)?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рднреА рддрдирд╛рд╡ рджреЗрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ 500 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд▓рдбрд╝рдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реВрдВ рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рдереЗ:
1: рд╕рдорд╕реНрдпрд╛ рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
2: рдореЗрд░реЗ рдирд┐рд░реНрдгрдп рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ

@gingters csproj рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЦреНрдп рд░реВрдк рд╕реЗ _.net_ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ xamarin, asp.net, uwp рдФрд░ рдЕрдиреНрдп рд╕рднреА рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдореВрд▓ рдХреЛрдб рдЬреИрд╕реЗ рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рднреА рджреЗрддреЗ рдереЗред

рд╕рд╛рде рд╣реА, рдпрд╣ asp.net core 2 рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреЙрдореНрдкреЗрдЯ рд╢рд┐рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдлрд┐рд░ рд╕реЗ, рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ

@qmfrederik

рд╢рд╛рдпрдж рдПрдХ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдореЙрдбрд▓ рднреА рддрд╛рдХрд┐ рд╕рдореБрджрд╛рдп рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдкрд░ HTTP 2.0 рдХрд░ рд╕рдХреЗ рдпрджрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

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

рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрддреАрдд рдореЗрдВ рдЙрдореНрдореАрдж рдкреНрд░рдмрдВрдзрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╕рд╛рдп рд╣реИ рдЬреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд/рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд/рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВред рддреЛ рдпрд╣ рдХрджрдо рдкрд┐рдЫрд▓реЗ рдЙрдореНрдореАрдж рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реИред

@ рдПрдПрд▓3891

рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП xamarin, asp.net, uwp рдФрд░ рдЕрдиреНрдп рд╕рднреА рдХреЗ рд▓рд┐рдП

рд╣рд╛рдВред рдмрд┐рд▓реНрдХреБрд▓ред рдФрд░ рдЗрд╕рдореЗрдВ .NET рдХреЛрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП wpf/Windows рдлреЙрд░реНрдо рдРрдк рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдЕрдм рдЕрд╕рдВрднрд╡ рд╣реИ рдЬрдм рдЖрдк .NET рдХреЛрд░ 2 рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп netstandard2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрдм рддрдХ, рдореИрдВрдиреЗ netcoreapp рдХреЛ рдПрдХ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (рдХреЗрд╡рд▓ рдПрдХ csproj рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдиреАрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрднреА рднреА рдПрдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирд╛ рд╣реИ, рдЕрдм, рдЗрд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпреЛрдВ рдХреНрдпреЛрдВ, рдФрд░ рд╣рдо рдЗрд╕ рдмреЗрддреБрдХреЗ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдХреИрд╕реЗ рдЖрдП?

рдореИрдВ netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреАрдЫреЗ рддрд░реНрдХ рдФрд░ рддрд░реНрдХ рджреЗрдЦрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрджрдо рдмрд╣реБрдд рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╣реАрдВ рднреА рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдХреБрдЫ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ (рдЬрд┐рдирдореЗрдВ рдЧреНрд░реАрдирдлреАрд▓реНрдб рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ) рдХрд┐рд╕реА рднреА рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдХрднреА рдХрд░реЗрдВрдЧреЗред рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкреИрдХреЗрдЬ рдФрд░ рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдЬрд╝реВрд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рди рд╕рд╣рд┐рдд рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдмрд╕ рдХреБрдЫ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП: рдХреНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддреЗ рд╕рдордп рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде .NET рдХреЛрд░ 2.0 рдХреЛ рдкреЙрд▓реАрдлрд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛? рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреА/рдЖрдордВрддреНрд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдиреЗрдЯрдПрдлрдПрдХреНрд╕/рдЖрдордВрддреНрд░рдг рд╣реЛ, рдЬреЛ рдПрдкреАрдЖрдИ рд╕рддрд╣ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрдЦреМрдЯрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдкреАрдЫреЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реЛред

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдордореЗрдВ рд╕реЗ рдХреЛрдИ рднреА _wants_ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ $#$ netstandard2.0 net461 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдпрд╛ рддреЛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА (рдЕрдиреБрдкрд▓рдмреНрдз рдПрдкреАрдЖрдИ) рдпрд╛ рдЬреАрдд рдЧрдИ 'рдЯреА (рдЫреЛрдбрд╝ рджрд┐рдпрд╛, рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдЖрджрд┐) рдкрд░рд┐рд╡рд░реНрддрдиред рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдордп рдФрд░ рдПрдХ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реВрдЪрд┐рдд рдпреЛрдЬрдирд╛ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрдм рдФрд░ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рдХреИрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рдХреБрдЫ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рднреАред

@xoofx

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ (рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреЛрдИ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдЧрд╛), рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ (рдХрдо рд╕реЗ рдХрдо 4.6.1 ) рдХреЛ netstandard 2.0 рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛

рдПрдХ рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддреА рд╣реИ рдФрд░ рдЬреЛ "рджреГрд╖реНрдЯрд┐ рдХреНрдпрд╛ рд╣реИ?" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реЗ рдкреНрд░рд╢реНрди рд╕реЗ рдЬреБрдбрд╝реА рд╣реИред System.Drawing рдХрд╛ рд▓рдЧрд╛рддрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрдХреНрд╖рд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, System.Drawing.Color рдЬреИрд╕реЗ structs) System.Drawing рдХреЛ ASP.net рдкрд░ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо .net Framework 3.5 рдХреЗ рджрд┐рдиреЛрдВ рд╕реЗред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ:

System.Drawing рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рдХрдХреНрд╖рд╛рдПрдВ Windows рдпрд╛ ASP.NET рд╕реЗрд╡рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рднреАрддрд░ рд╕реЗ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрдо рд╕реЗрд╡рд╛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд░рди-рдЯрд╛рдЗрдо рдЕрдкрд╡рд╛рджред рд╕рдорд░реНрдерд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП, Windows рдЗрдореЗрдЬрд┐рдВрдЧ рдШрдЯрдХ рджреЗрдЦреЗрдВред

рдЕрдм, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрд╕реЗ рднреА GDI+ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЕрд╕рдорд░реНрдерд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдм .net Core рдФрд░ ASP.net Core рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рджреГрд╖реНрдЯрд┐ рд╣реИ: рдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рдкреБрди: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╡рд░реНрд╖реЛрдВ рдкреБрд░рд╛рдиреЗ cruft (рдЙрд░реНрдлред ".net - The Good Parts") рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИ? рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, System.Drawing рдХреНрдпреЛрдВ рд▓рд╛рдП?

рдпрд╛ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдкреБрдирд░реНрд▓реЗрдЦрди рд╣реИ, рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдмреЗрд╣рддрд░ рдореЛрдиреЛ?

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

рдореБрдЭреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ .net Framework рдкрд░ рд░рд╣рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ (рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдирд┐рдпреЛрдХреНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ)ред .net Framework рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2016 рдкрд░ рдХрдо рд╕реЗ рдХрдо 2027 рддрдХ рд╕рдорд░реНрдерд┐рдд рд╣реИред

.net рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╣реЛрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдордЭреМрддрд╛ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, HTTP / 2 рд╕рдорд░реНрдерди рдЕрдиреНрдп рд╡реЗрдм рд╕реНрдЯреИрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмрд╛рдж рдореЗрдВ рдЖрдпрд╛, рдФрд░ рдПрдХ рдкреВрд░реНрдг рдУрдПрд╕ рдЕрдкрдЧреНрд░реЗрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА - рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЗ рд╕рд╛рде HTTP / 2 рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░реНрд╡рд░ 2012 R2. рд▓реЗрдХрд┐рди рдпреЗ рд╕рдордЭреМрддреЗ рдЕрдЧрд▓реЗ 10 рд╡рд░реНрд╖реЛрдВ рддрдХ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдордЬрдмреВрдд рдЧрд╛рд░рдВрдЯреА рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдирдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЗ рд▓рд┐рдП рд░реЛрдбрдореИрдк рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ - рдПрдПрд╕рдкреАрдиреЗрдЯ рдПрдорд╡реАрд╕реА 6, рд╡реЗрдм рдПрдкреАрдЖрдИ 3, рд╕рд┐рдЧреНрдирд▓рдЖрд░ 3 рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдореИрдВ рдмрд╕ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рдкреАрдврд╝реА рдХрд╛ рд╡рд┐рдЬреБрдЕрд▓ рдмреЗрд╕рд┐рдХ 6/рдХреНрд▓рд╛рд╕рд┐рдХ рдПрдПрд╕рдкреА (.рдиреЗрдЯ) рд╣реЛрдирд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .рдиреЗрдЯ рдХреЛрд░ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рд╣рд┐рдд рдореЗрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реА рдмрд╛рд░, .рдиреЗрдЯ рдХреЛрд░ рдирдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рддреИрдпрд╛рд░ рд╣реИред рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдирдпрд╛ рдХрд░реЗрдВ, рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд╣реА рдХрд░реЗрдВ рдЬреЛ Node.js рдиреЗ рдЗрддрдирд╛ рд╕рдлрд▓ рдХрд┐рдпрд╛ (рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЙрдирдХрд╛ рдЕрдкрдирд╛ рд╕реНрдерд┐рд░рддрд╛/рдирд╡рд╛рдЪрд╛рд░ рдирд╛рдЯрдХ рдерд╛, io.js рджреЗрдЦреЗрдВ)ред

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

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ ASP.net Core 2.0 рдХреЛ .net Core рдкрд░ рдПрдХ рдЕрджреНрднреБрдд рд╡реЗрдм рд╕реНрдЯреИрдХ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрдЧреБрдирд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдПрдХ рдмрд╛рд░ рдЬреЛ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ, рдЙрдиреНрд╣реЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдЕрдЪреНрдЫреЗ рд╣рд┐рд╕реНрд╕реЗ рдЕрднреА рднреА рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬ рд▓реЗрдВрдЧреЗ рдЙрдирдХреЗ, рдХреНрд▓рд╛рд╕рд┐рдХ ASP.net рд╕реНрдЯреИрдХ рдореЗрдВред

рд╡реИрд╕реЗ рднреА, рдореЗрд░реЗ рдЬреБрдЖ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдПрдХ рдЕрддреНрдпрдВрдд рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЖрдкрд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред рдореИрдВ (рдФрд░ рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧ) рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реЛ рдХрд┐ рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╣рд╛рдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ (рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреЛрдИ рдореБрдЭреЗ рд╕рд╣реА рдХрд░рддрд╛ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ

рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ? @davidfowl HTTP2 рдХреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд - рдПрдХ - рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ? рдПрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдЕрд▓рдЧ System.Http2 рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рд╕рдВрдкреВрд░реНрдг .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдлреЛрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рдкреВрд░реНрдг рддрд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддрд╛ рд╣реИ?

@gingters рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЕрднреА рднреА .netstandard рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ 46 рдФрд░ рдХреЛрд░ рджреЛрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕рд┐рд░реНрдл asp.net core _itself_ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред

рд░реАрдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рджрдлрди рд╣реИ рдФрд░ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ:

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛рдП, рддреЛ рдЕрдВрддрддрдГ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЬрдЧрд╣ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╣реЛрдЧрд╛ред

рдирд╣реАрдВ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓рд╛ред .NET рдорд╛рдирдХ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдкрд╛рдЧрд▓ рдЪреАрдЬреЗрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрдИ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдЬреЛ рдХрд╣рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕ рд╕рдордп рдпрд╣ рд╕рдм рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВред рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдкреВрдЫрд╛ рдХрд┐ рд╣рдо .NET рдорд╛рдирдХ рдХреЗ рдмрдЬрд╛рдп .NET рдХреЛрд░ рдХреЛ рдХреНрдпреЛрдВ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

  • рд╣рдордиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЙрди рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ utf8 рд╣реЛрдирд╛ рд╣реИ (рдХрдИ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред
  • рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдо рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рд╕рд░рдгрд┐рдпреЛрдВ/рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╕реНрддреЗ рд╕реНрд▓рд╛рдЗрд╕, рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рд╣рдордиреЗ Span<T> рдЬреЛрдбрд╝рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Buffer<T> рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдРрд░реЗ рдирдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП 0 рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  • рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рдирдП рддрд░реАрдХреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
  • рдЗрд╕рд╕реЗ Int, UInt рдЖрджрд┐ (TryParse) рдкрд░ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ Span<char> рдФрд░ Span<byte> рд▓реЗрддреЗ рд╣реИрдВред
  • рдпрд╣ рдирдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдЯреАрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ Span<byte> рд▓реЗрддреЗ рд╣реИрдВред
  • Buffer<T> рдФрд░ Span<T> рдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреИрдХ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ Span<T> рдпрд╛ Buffer<T> рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реА-рдкрд┐рди рдХрд┐рдП рдЧрдП рдмрдлрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
  • Kestrel HTTP2 рдХреЛ 2.x рд╕рдордп рд╕реАрдорд╛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.1 рдкрд░ рд▓рдХреНрд╖рд┐рдд) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSL рд╕реНрдЯреНрд░реАрдо рдкрд░ рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
  • .NET рдХреЛрд░ рдкрд░ рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдбреБрдкреНрд▓реЗрдХреНрд╕ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдПрдХрд▓, рдЧреИрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рд┐рдЧреНрдирд▓рд░ рдореЗрдВ рдПрдЪрдЯреАрдЯреАрдкреА рдкрд░ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдВрдб рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред
  • рд╣рдордиреЗ HttpClient рдФрд░ System.Net.Http рд╕реЗ рд╣реЗрдбрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ (https://github.com/aspnet/HttpAbstractions/tree/d1d9bceff56cb44a194ae36923ce687e5e353006/src/Microsoft.Net.Http.Headers) рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░ рд╕рдХреЗрдВред рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ .NET Framework рдФрд░ .NET Core рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред .NET рдХреЛрд░ рдХреЗ рдкрд╛рд╕ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ)ред
  • рдмрд╣реБрдд рд╕реЗ рдирдП рдереНрд░реЗрдбрд┐рдВрдЧ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдирдП рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗ рдпрджрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (https://github.com/dotnet/corefx/issues?q=is%3Aopen+is%3Aissue+ рд▓реЗрдЦрдХ%3Advidfowl+label%3Aarea-System.Threading), рдпреЗ рдХреБрдЫ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИред

рдХреЛрд░ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛, рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдлреЛрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдРрд╕реА рдЪреАрдЬреЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдЬреИрд╕реА рджрд┐рдЦрддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ https://github.com/aspnet/Common/tree/dev/src/Microsoft.Extensions.Primitives рдХреЗ рднреАрддрд░ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдЫреЛрдЯрд╛ BCL рд╣реИред

рдпрд╣ рдЙрди рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрдВрдк рдерд╛ рдЬреЛ рдореИрдВ рд╣рдореЗрдВ рдирд┐рдХрдЯ рдЕрд╡рдзрд┐ рдореЗрдВ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ .NET рдХреЗ рдмрд╣реБрдд рд╣реА рдореМрд▓рд┐рдХ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред

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

@ рдПрдПрд▓3891

рдЗрд╕рдХрд╛ рд╕рд┐рд░реНрдл рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рд╣реА рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ

рдЬреЛ - рд╕рд┐рд░реНрдл рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ ASP.NET Core 2 рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдПрдкреАрдЖрдИ .NET рдХреЛрд░ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ, рдФрд░ рдЯреЙрдкрд╢реЗрд▓реНрдлрд╝ рдЕрднреА рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдордЬрдмреВрдд рдкреНрд░рддрд┐рдмрдВрдз рд╣реИред рдФрд░ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ wpf/Windows Forms рдРрдк рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ .NET Core 2 рд╕рд░реНрд╡рд┐рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд▓реАрдЧреЗрд╕реА рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рд╣реИред

Span<T> рдХрд╛ рддреЗрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг .NET рдкреВрд░реНрдг рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рд╣реИ: рдлрд┐рд░ Microsoft рд░реЛрдЬрд╝рд▓рд┐рди рдХреЛ рдХреИрд╕реЗ рдЧрддрд┐ рджреЗрдЧрд╛? рдЙрдирдХреЗ рдкрд╛рд╕ рддреЗрдЬрд╝ Span<T> рдФрд░ рд╕рд╛рде рдореЗрдВ рддрдХрдиреАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЧреНрд░рд╣ рдкрд░ рд╣рд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ ... рд░рд╛рдЬрдиреАрддрд┐? рдХреНрдпреЛрдВрдХрд┐ рдПрдордПрд╕ рдореЗрдВ рдЯреНрд░реА рдореЗрдВ рдХреЛрдИ рдореИрдиреЗрдЬрд░ рдЗрддрдирд╛ рдмрд╣рд╛рджреБрд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрд╣ рд╕рдХреЗрдВ: рд╣рдореЗрдВ .NET рдлреБрд▓ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ?

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрдВрджреНрд░рдзрдиреБрд╖ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЗ рд╡рд┐рдкрдгрди рдмреНрд▓рдмреНрд▓рд╛ рд╡рд╛рд░реНрддрд╛ рдХреЛ рдмрд░реНрдмрд╛рдж рди рдХрд░рдиреЗ рджреЗрдВ рдЬреЛ рдЖрдЬ рдмрд╛рдж рдореЗрдВ //build рд╕реЗ рдлреИрд▓ рдЬрд╛рдПрдЧреАред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдордПрд╕ рдПрдХ рдЧреБрд▓рд╛рдмреА рддрд╕реНрд╡реАрд░ рдкреЗрд╢ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ рдФрд░ рдмрд╛рдХреА рдЧреНрд░рд╣ рдЕрднреА рднреА рдПрдХ рдЧреБрдлрд╛ рдореЗрдВ рд░рд╣ рд░рд╣реЗ рд╣реИрдВред

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

@gingters рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рд╕рдВрдкреВрд░реНрдг рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб/csproj рдкреНрд░рдпрд╛рд╕ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ

@davidfowl рдореИрдВ рдЕрднреА рдЗрд╕ рдЦрдмрд░ рдкрд░ рдЕрдбрд╝ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдереЛрдбрд╝рд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИред рдЕрдм рддрдХ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдерд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ .NETStandard 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЕрдВрддрддрдГ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ ASP.NET Core 2.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВред рдЬрдм рддрдХ рдореИрдВ рдЗрд╕ рдмрд┐рдВрджреБ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рдХрд░ рд▓реЗрддрд╛, рддрдм рддрдХ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдПрдкреАрдЖрдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдпрд╛ рд╣реИ рдФрд░ .NET рдорд╛рдирдХ 2.0 рдореЗрдВ рдХрдИ рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рд╣реИрдВ рдЬрд┐рди рдкрд░ рдореИрдВ рдирд┐рд░реНрднрд░ рд╣реВрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕реЗ рдореИрдВ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддрд╛ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдоред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди) рднрд▓реЗ рд╣реА рдпрд╣ рджрд░реНрдж рд╣реЛред

рдЕрдиреНрдп, рдореИрдВ рдЕрднреА рддрдХ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рдЬрдирд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ System.Reflection.Emit.ILGenerator, TypeBuilder, рдЖрджрд┐ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЙрдирд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдирд╣реАрдВ рдкрд╛ рд╕рдХрддрд╛, рдпрд╣ рдЙрддреНрдкрд╛рдж рдХрд╛ рдПрдХ рдореБрдЦреНрдп рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдкреАрдЖрдИ рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдФрд░ рдЖрдЧреЗ рдЦреЛрджрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ .NET рдХреЛрд░ 2.0 + рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдкреАрдЖрдИ рдЧрд╛рдпрдм рд╣реИрдВ:
M:System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable{System.Reflection.Emit.CustomAttributeBuilder})
M:System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.String)
M:System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.String,System.Boolean,System.Collections.Generic.IEnumerable{System.Reflection.Emit.CustomAttributeBuilder})
M:System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(System.String,System.Boolean)
M:System.Reflection.Emit.AssemblyBuilder.DefineDynamicModule(System.String,System.String,System.Boolean)
M:System.Reflection.Emit.AssemblyBuilder.DefineVersionInfoResource
M:System.Reflection.Emit.AssemblyBuilder.Save(System.String)
M:System.Reflection.Emit.AssemblyBuilder.Save(System.String,System.Reflection.PortableExecutableKinds,System.Reflection.ImageFileMachine)
M:System.Reflection.Emit.ILGenerator.MarkSequencePoint(System.Diagnostics.SymbolStore.ISymbolDocumentWriter,System.Int32,System.Int32,System.Int32,System.Int32)
M:System.Reflection.Emit.LocalBuilder.SetLocalSymInfo(System.String)
M:System.Reflection.Emit.ModuleBuilder.DefineDocument(System.String,System.Guid,System.Guid,System.Guid)
M:System.Reflection.Emit.TypeBuilder.CreateType

рдореИрдВрдиреЗ https://apisof.net/catalog рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдПрдкреАрдЖрдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдпрд╛рдиреА рдХреБрдЫ рдПрдкреАрдЖрдИ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рдирд┐рд╢рд╛рди рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВ (TypeBuilder.CreateType)ред рддреЛ, рдореИрдВ рдареАрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рдореИрдВ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рддрдм рддрдХ рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рдЕрдиреНрдп, рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд╕реЗрдВрдмрд▓реАрдмрд┐рд▓реНрдбрд░ред рд╕реЗрд╡ (...)

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

@davidfowl рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╣реВрдВ рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЗрд╡рд▓ netstandard2.0 рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ .NET рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдкреАрдЖрдИ рд▓рд╛ рд░рд╣рд╛ рдерд╛, рдФрд░ рд╕рдВрд╕реНрдХрд░рдг 2.0 рдПрдХ "рдЬрдВрдХреНрд╢рди" рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрд░реНрдерд╛рдд, рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрдирдХреЗ рдХреЛрдб рдХреЛ .NET Full рд╕реЗ .NET Core рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП... рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рдкрде рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛ред рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП... рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ netstandard2.0 рдЖрдЦрд┐рд░рдХрд╛рд░ рдирдпрд╛ рдкреАрд╕реАрдПрд▓ рдмрдирдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ ...

рдЗрддрдирд╛ рдЙрдЪрд┐рдд, .NET рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдм рдПрдХ рд╕реЗрд╡рд╛рдирд┐рд╡реГрддреНрддрд┐ рдпреЛрдЬрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ( System.Drawing рдЖрдкрдХреЛ рд╡рд╛рдкрд╕ рд░реЛрдХ рд░рд╣рд╛ рд╣реИ? рдПрдХ рдЖрдУ, SkiaSharp рдмреЗрд╣рддрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо) рдФрд░ рдЪрд▓реЛ .NET Core 2.0 рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЕрдкрдиреА рдкреВрд░реА рдЧрддрд┐!

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

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

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдврд╛рдВрдЪреЗ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рдореМрдЬреВрджрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдм рдорд░рддреЗ рд╣реБрдП рдордВрдЪ рдкрд░ рдлрдВрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ? рдкреВрд░рд╛ рдврд╛рдВрдЪрд╛?

@ popcatalin81 (рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдСрдл-рдЯреЙрдкрд┐рдХ рд╣реЛ рдЬрд╛рдПрдВ, рд▓реЗрдХрд┐рди рдореИрдиреНрд╕рдкреНрд▓реЗрдирд░ рд╣реЛрдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдкрд░) - рд╕реНрдкреИрдирдЖрд╡рдВрдЯрди рдХреЗ рдмрд┐рдирд╛ рд╕реНрдореГрддрд┐ рдХреЛ рдЗрдзрд░-рдЙрдзрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдбреЗрдЯрдЯрд╛рдЗрдо рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

@popcatalin81 netstandard2.0 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо WPF рдФрд░ System.Drawing рдХреЗ рднреА .NET рдХреЛрд░ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝, рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧреИрд░- рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо... ), afaik, рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд┐рд╕реА рднреА рд╕реАрдПрд▓рдЖрд░ рд╡рд┐рд╢реЗрд╖ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ... рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ netstandard2.0 рдХреЗ рд╕рд╛рде рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА ... (рдХреЗрд╡рд▓ .NET рднрд╛рдЧ, рдореВрд▓ рднрд╛рдЧ рд╣реЛрдЧрд╛ рд╡рд╣реА - wpf рд░рдЪрдирд╛ рдЗрдВрдЬрди, рдпрд╛ System.Drawing рдХреЗ рд▓рд┐рдП Win32 рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рд╕реАрдзреА рдХреЙрд▓ред рдбреНрд░реЙрдЗрдВрдЧ...)

рдореИрдВ рдкреВрд░реА "рдХреЛрд░" рдпрд╛рддреНрд░рд╛ рдХрд╛ рдЙрддрдирд╛ рдмрд╛рд░реАрдХреА рд╕реЗ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рддрдирд╛ рд╢рд╛рдпрдж рдореБрдЭреЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдЦрдбрд╝реА рд╣реИрдВред

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

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

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

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред

рдХреНрдпрд╛ рдореИрдВ рдЖрдзрд╛рд░ рд╕реЗ рджреВрд░ рд╣реВрдБ?

@davidfowl @DamianEdwards @shanselman

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреБрдЫ ASP.NET Core 1.x рдРрдкреНрд╕ рд╣реИрдВ рдЬреЛ net462 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдиреАрдЪреЗ рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ netstandard2.0 рдХрд╛рд░реНрдп рдкреНрд░рдЧрддрд┐ API рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рди рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред

1. рдПрдбреАрдПрдлрдПрд╕ рдПрдХреАрдХрд░рдг:

тАв System.IdentityModel.Protocols.WSTrust
тАв System.IdentityModel.Tokens
тАв рд╕рд┐рд╕реНрдЯрдо.рд╕рд░реНрд╡рд┐рд╕рдореЙрдбрд▓
тАв System.ServiceModel.Security

2. рдПрдЯрдо / рдЖрд░рдПрд╕рдПрд╕ рдлрд╝реАрдб рдкреАрдврд╝реА:

тАв рд╕рд┐рд╕реНрдЯрдо.рд╕рд░реНрд╡рд┐рд╕рдореЙрдбрд▓.рд╕рд┐рдВрдбрд┐рдХреЗрд╢рди

рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрди рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЛ netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреНрдпрд╛ рд╣реЛрдЧреА? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдореБрдЭреЗ рдХреЛрдИ рдореМрдЬреВрджрд╛ NuGet рдкреИрдХреЗрдЬ рдЫреВрдЯ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

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

рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЫреЛрдЯреЗ рдбреЗрд╡рд▓рдкрд░ рдЖрдзрд╛рд░ рдХреЛ рдФрд░ рдЕрд▓рдЧ рдХрд░ рджреЗрдЧрд╛ рдЬреЛ .Net Core рдХреЛ рдЬрд▓реНрджреА рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдмрд╣рд╛рджреБрд░/рдмреЗрд╡рдХреВрдл рд╣реИред

@davidfowl

рд╣рдо рдЖрдЧреЗ HTTP2 рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВред HTTP / 2 рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдЕрд╡рд░реЛрдзрдХ TLS рдХреЗ рд▓рд┐рдП ALPN рд╕рдорд░реНрдерди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, CoreFx рд░реЗрдкреЛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрд░реЛрдз рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ .NET Core 2.0 рдХреЗ рд▓рд┐рдП рднреА рд╕рдордп рдкрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдХреЗрд╡рд▓ рдмрд╛рдж рдореЗрдВ (2.2? 3.0?) рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ HTTP/2 рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдпрд╣ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ ASP.NET Core corefx 2.0 рдпрд╛ .netstandard 2.0 рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╡реИрд╕реЗ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдХреЗрд╡рд▓ рдмрд╛рдж рдореЗрдВ, рдЬрдм рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдлрд┐рд░ рд╕реЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ HTTP / 2 рдореБрджреНрджрд╛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡реЗрдмрд╕рд░реНрд╡рд░ (рдХреЗрд╕реНрдЯреНрд░реЗрд▓) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рди рдХрд┐ рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдХреЛред "рдХрдИ рдЪреАрдЬреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмрджрд╕реВрд░рдд рд╣реИ" рдХрд╛рд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ .NET рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП HTTP / 2 рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдмрд╕рд░реНрд╡рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@davidfowl рдПрдХ рдмрд╛рдд рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкреВрд░реА рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИред рдореИрдВ рддрдХрдиреАрдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдФрд░ рдореИрдВ рдЖрдкрдХреЗ рддрд░реНрдХ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реВрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ 1.x рдкрд░ рд░рд╣рдирд╛ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рд╕рдордп рд╕реАрдорд╛ рдХреЗ рд╕рд╛рде), рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдЬреИрд╕реЗ рдЧрд╛рдпрдм рджрд░реНрдж рдмрд┐рдВрджреБ рднрд╡рд┐рд╖реНрдп рдореЗрдВ 1.x рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗ рдЬрд╛рдПрдВрдЧреЗ, рддреЛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЗ рд▓рд┐рдПред

рд╕рдорд╕реНрдпрд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рддрдХрдиреАрдХреА рдкреНрд░рдХреГрддрд┐ рдХреА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, ASP.NET рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдЕрднреА рднреА рдЕрдкрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рд╣реИред рдЙрд╕ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рднреЗрдЬрдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ: рдЖрдк рдЬрд▓реНрдж рд╣реА рдПрдХ 2.x рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рддреБрд░рдВрдд рд╕рдВрд╕реНрдХрд░рдг 3.x рдкрд░ рд░рдгрдиреАрддрд┐рдХ рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рд╕рднреА рд╕рд╛рджреЗ рдЦреБрд▓реЗ рдореЗрдВ (рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ)ред рдЗрд╕рдХрд╛ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐, рднрд▓реЗ рд╣реА рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП 2.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рдФрд░ рднрд▓реЗ рд╣реА рдЖрдк 1.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдХреЗ рдПрдХ рдЙрдЪрд┐рдд рддрдХрдиреАрдХреА рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХреЗрдВ, рд▓реЛрдЧреЛрдВ рдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ "рдПрдХ рд╕рдВрд╕реНрдХрд░рдг 1" рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЬрдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг 3 рдкрд░ рдХрд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЕрд╡рд░реЛрдз рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЦрддрд░рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЪрд┐рдХрди/рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд▓реЛрдЧ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рдВрдЧ рдФрд░ рджрдмрд╛рд╡ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЧреЛрдж рд▓реЗрдиреЗ рдХреА рджрд░ рдХреЛ рдФрд░ рднреА рдзреАрдорд╛ рдХрд░ рджреЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рдиреЗ рднреА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ: рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ, рднрд▓реЗ рд╣реА рд╡реЗ рдЗрд╕ рдХрджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реЛрдВ, рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдЗрд╕ рдХрдЯреМрддреА рдХреЗ рдЗрддрдиреА рдЬрд▓реНрджреА рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЛрдВ рдХреЗ рджреМрд░рд╛рди рд╣рдордиреЗ 2.x (.NET Core, .NET Standard рдЖрджрд┐) рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдФрд░ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рддрдЪреАрдд, рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдФрд░ рдкреЛрд╕реНрдЯ рд╕реБрдиреА рдФрд░ рдкрдврд╝реАрдВред рдЗрд╕рд▓рд┐рдП, рдмрд╣реБрдд рд╕реЗ рджрд┐рдорд╛рдЧреЛрдВ рдореЗрдВ "2.x" "рдкрд░рд┐рдкрдХреНрд╡" рдХреЗ рдмрд░рд╛рдмрд░ рдмрди рдЧрдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рджрд╛рд╡рд╛ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХрд┐рддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдпрд╛ рдирд╣реАрдВред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдиреЗ 2.x рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рдФрд░ рдЕрдм рдЕрд▓реНрдк рд╕реВрдЪрдирд╛ рдкрд░ 1.x рдХреА рдПрдХ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рд╡рд╣ рдПрдХ рд╕рдмрд╕реЗ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдХрджрдо рдерд╛, рдЬрд┐рд╕рдиреЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рддрдХрдиреАрдХреА рддрд░реНрдХ рд╕реЗ рднрд╛рд╡рдирд╛рддреНрдордХ рддрд░реНрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рднрд▓реЗ рд╣реА рд╕рддрд╣ рдкрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЛ рд╡рд╛рдкрд╕ рдмрджрд▓рдирд╛ рдФрд░ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдареЛрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рдХреНрд╖реНрдп рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ 1.x рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд┐рдлрд╛рд░рд┐рд╢ рд╣реЛрдЧреА рдХрд┐ 2.0 рдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд░реНрд╖ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рдХреЗ рдмрдЬрд╛рдп, 3.x рдкрд░ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдЗрди рд╕рднреА рддрдХрдиреАрдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП 3.x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдХрд┐ рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЬреИрд╕реЗ рд╣реА 2.0 рджрд░рд╡рд╛рдЬреЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ, 3.x рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рд▓рд╛рдн рдорд┐рд▓рддреЗ рд╣реИрдВ: рдЖрдк рдЕрдкрдиреА рдореВрд▓ рд╕рд╣рд╛рдпрддрд╛ рдпреЛрдЬрдирд╛ 1.x рддрдХ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЛрдЧреЛрдВ рдХреЛ 2.x рдореЗрдВ .NET рд╕рдорд░реНрдерди рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЙрдирдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ "рдкрд░рд┐рдкрдХреНрд╡" рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд╣реБрдЖ рд╣реИред рд╡реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде "рдирд╡реАрдирддрдо рдФрд░ рдорд╣рд╛рдирддрдо" рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдм рдЗрд╕ рддрдереНрдп рд╕реЗ рдмрд╣реБрдд рдЕрд╡рдЧрдд рд╣реИрдВ рдХрд┐ 3.x рдЙрд╕ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЕрдкрдиреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд░рдгрдиреАрддрд┐рдпреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рд╣реЛрдЧрд╛ред рдФрд░ рдЖрдкрдХреЛ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ ASP.NET рдХреЛрд░ рдХреЛ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде (рдпрд╛ рдХреЗрд╡рд▓ рдмрд╣реБрдд рдХрдо рд╕рдордп рдХреЗ рд▓рд┐рдП) рдзреАрдорд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

/cc @DamianEdwards @shanselman

рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп Microsoft рд╕рд┐рдХреЛрдбрд╝рдиреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВред (рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛)
рдЬрдмрдХрд┐ рдореИрдВ WHY рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдореЗрдВ @MisterGoodcat рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Microsoft рдХреЛ рдЕрдкрдиреА рднрд╛рд╡рдирд╛рддреНрдордХ рдЦрд╛рдорд┐рдпреЛрдВ / рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

.NET Framework рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕реНрдерд┐рд░ рд▓реЗрдХрд┐рди рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд▓рдЧрднрдЧ рд╣рд░ рддрд░рд╣ рдХреЗ .NET рдРрдк рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╢рд╛рдпрдж рдпрд╣ рднреА рдХрд┐ "рдЗрд╕реЗ рдЕрдкрдиреЗ рджреБрдЦ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЛ" рд╕рдордп рдХреА рдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк, рдЕрдм рдЬрдмрдХрд┐ Microsoft рдиреЗ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрдЬрд╛рдп .NET Core рдХрд╛ рдЕрднрд┐рд╖реЗрдХ рдХрд░рдирд╛ рдЪреБрдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрджреНрджрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ Microsoft рдХрд┐рддрдирд╛ рдЕрдВрдзрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд┐рдЫрд▓рд╛ рдкреНрд░рдпрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдЯреВрд▓ рдкрд░ рдЕрдкрдирд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕рд┐рджреНрдз рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП, Microsoft рдХреЗрд╡рд▓ рдЕрдкрдиреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЕрджреВрд░рджрд░реНрд╢реА рд╣реИред рдпрд╣ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ DirectoryServices рдФрд░ Drawing рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЕрд╡рд░реЛрдзрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХреЛрдВ, рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдШрдЯрдХреЛрдВ рдФрд░ COM рдЗрдВрдЯрд░рдСрдк рдХреА рд╕рднреА рд▓рдВрдмреА рдкреВрдВрдЫреЛрдВ рдХреА рдорд╛рдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдпрд╛ рддреЛ рдЕрд╕рдВрднрд╡, рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдпрд╛ рдЕрддреНрдпрдзрд┐рдХ рдорд╣рдВрдЧреА рд╣реИрдВ ( рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдиреНрдирдпрди рдХреЗ рд░реВрдк рдореЗрдВ) рд╕рд╡рд╛рд░реА рдХреЗ рд▓рд┐рдП рд╕рд╛рде рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

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

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

@Bartmax рдпрд╣ рдпрд╛ рддреЛ рд╡рд╣ рд╣реИ рдпрд╛ рдХреЛрд░, asp.net core, asp.net core non-core, netstandardbanana, .net, system.web рдХреЗ рдЕрдВрддрд░реЛрдВ рдореЗрдВ рд╕рднреА рдХреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп 2 рдШрдВрдЯреЗ рдХрд╛ рдХреЛрд░реНрд╕ рджреЗрдВред рдПрдПрд╕рдкреАрдиреЗрдЯ 5 (рдореЗрд░рд╛ рдорддрд▓рдм 6) рд╣реИред
рдФрд░ рд░реЛрдбрдореИрдк рдФрд░ рдЗрд░рд╛рджреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдкреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

рдпрд╣ рдЕрднреА рднреА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрднреА рднреА рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЛ рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддреЗред рд╕рдбрд╝рдХ рдХреЗ рдиреАрдЪреЗ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рд╣рдо рджреЛ рд╕рдореБрджрд╛рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдВрдЧреЗред

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

рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдХрд┐ рдХреЛрдИ рднреА рд╕рд╛рдорд╛рдиреНрдп asp.net рдбреЗрд╡рд▓рдкрд░ рдХреА рджреБрдХрд╛рди рдХреИрд╕реЗ рд╣реИ, рдЗрд╕ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕реЗ рдХреБрдЫ рд╕реА ++/рд╕реАрдПрд▓рдЖрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдореБрдЭреЗ рднреАрд╖рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ:

1) рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рджрд┐рдП рдмрд┐рдирд╛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рд░ asp.net рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд░рд╣реЗрдВред

2) рдЙрди рд╕рднреА C++/CLI рдХрд╛рдореЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп (рдФрд░ рдЕрдВрддрддрдГ рдзрди) рдХрд╛ рдирд┐рд╡реЗрд╢ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЧреНрд░рд╛рд╣рдХ рдХрднреА рднреА рдПрдХ рдкреНрд░рддрд┐рд╢рдд рдХрд╛ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред

3) asp.net рдХреЛрд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрдВ

рдореИрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрд╣ рдмрджрд▓рд╛рд╡ рдЬрд░реВрд░реА рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рдЬреЛ рдореИрдВ рд╕рдордЭ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╡рд╣ рд╕рдордп рд╕реАрдорд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдХреБрдЫ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рд╡рд░реНрд╖ рдореЗрдВ рдПрдХ рд░реЛрдбрдореИрдк рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 3.x рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ 4.x рдореЗрдВ рдЖрдЧрд╛рдореА рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдиреНрдирдд рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбрдВрдк рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ....

@davidfowl netcore рдХреЗ рд▓рд┐рдП edge.js рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣ рдПрдкреАрдЖрдИ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП netfx рдФрд░ netcore рдХреЗ рдмреАрдЪ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

1) рдХреЛрдИ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ netfx рдХреЛрдб netcore рдХреЗ рддрд╣рдд рдЪрд▓реЗрдЧрд╛ рдпрд╛ рдирд╣реАрдВ - рдпрд╣ netfx рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрди-рдкреНрд░реЛрд╕реЗрд╕
2) рдХреЛрд░ рдХреЛ рдкреАрдЫреЗ рдирд╣реАрдВ рд░рдЦрддрд╛
3) рдпрджрд┐ рдирдП рдХреЛрд░ рдПрдкреАрдЖрдИ рдЗрддрдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЗ рдиреНрдпреВрдирддрдо рд╕рдВрднрд╡ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рд╕реНрдкреЗрд╕ рдореЗрдВ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд▓ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рджреЛрд╣рд░реЗ-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо ASP.NET рдХреЛрд░ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ, рдПрдХ рдЬреЛ рдкреБрд░рд╛рдиреЗ .NET рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЪрдордХрджрд╛рд░ рдирдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕реНрдкреИрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ, рдФрд░ рдПрдХ .NET рдХреЛрд░ 2 рдкрд░ рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде ... рдареАрдХ рд╣реИ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдЬрд╝рд░ред

рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рд╕реНрддрд░ рдкрд░, рдХреЛрдИ рднреА рд╡реЗрдм рдврд╛рдВрдЪрд╛:

  • рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмреНрд▓реЙрдХ рд▓реЗрддрд╛ рд╣реИ рдЬреЛ UTF8-рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (_BOBTRUES_) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ, рдЙрдирдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреЗ рдХреЛрдб рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ
  • рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рдкрд░рд┐рдгрд╛рдо рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рдкрд╕ _BOBTRUES_ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рддреЛ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рд╡реЗрдм рдврд╛рдВрдЪреЗ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рд╣реИрдВ рдЬреЛ _BOBTRUES_ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рд╣реИ рдирд╛?

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

рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдм рдХреЛрдб рджреЛ рдмрд╛рд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдкреНрд░рдердо-рдкрдХреНрд╖ рдФрд░ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ рдЬреЛ рдпрд╛ рддреЛ рд╣реИрдВ

  • System.Drawing, System.DirectoryServices, рдЖрджрд┐, рдпрд╛
  • NETStandard 2.0 рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ 1.x рдореЗрдВ рд╡реЗ API рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдирдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛
  • рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ NETStandard рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдпрд╛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдирд╣реАрдВ рд╣реИ
  • рдкрд░рд┐рддреНрдпрдХреНрдд, рдпрд╛
  • рдЕрдкрд╕реНрдЯреНрд░реАрдо рдкреИрдХреЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдЬреЛ рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ

рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЫреЛрдбрд╝рдХрд░ред* рдмрд┐рдЯреНрд╕, рдХрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ ASP.NET рдХреЛрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд░реНрдг .NET рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдкреЛрд░реНрдЯ рдХреЛ NETStandard рдкрд░ рдмрдВрдж рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдирд╛ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реИ? _"рд╣рд╛рдБ, рд╣рдо ASP.NET Core рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкреВрд░реНрдг .NET рдкрд░..."_ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ Linux рдХрдВрдЯреЗрдирд░ рдореЗрдВ .NET Core рдРрдкреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдЙрдиреНрд╣реЗрдВ Mac рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдЙрддрдирд╛ рд╣реА рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИред , рдФрд░ рдХреЛрдИ "рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг X рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ" рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдирд╣реАрдВ рд╣реИред рдХреЛрдИ NHibernate рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ OData рдирд╣реАрдВ рд╣реИ, рдХреЛрдИ EF6 рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рддреЛ рдЕрдЧрд░ рдпрд╣ рдкреИрдВрдЯ рдореЗрдВ рдХрд┐рдХ рд╣реИ рдЬреЛ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЙрдирдХреЗ рдкреИрдХреЗрдЬ рдареАрдХ рд╕реЗ NETStandard 2.0 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╣реЛ рдЬрд╛рдПрдВ рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ _all_ ASP.NET рдбреЗрд╡рд▓рдкрд░реНрд╕ * рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рди рдХрд┐ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ .NET, рддреЛ рдпрд╣ рдПрдХ _рдЕрдЪреНрдЫреА рдмрд╛рдд_ рд╣реИред

*рдпрд╛рдж рд░рдЦреЗрдВ, .NET Core 2.0 рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ ASP.NET Core 2.0 рдХреЛ _consume_ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП _publish_ NETStandard рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

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

рд╢рд╛рдпрдж рдПрдХ рд░реЛрдбрдореИрдк?

рд╣рдо рдЕрдкрдиреЗ рджрд╛рджрд╛рдЬреА рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЙрдирдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рд░рд╛рддреЛрдВ-рд░рд╛рдд рдЕрдирдЬрд╛рди рдереЗ! .
рдЕрдЧрд░ Asp.net Core рдЖ рдЬрд╛рдП рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рднрд╛рдИ, Kl─▒├зdaro─Яlu рдореЗрдВ рдиреЗрддреГрддреНрд╡ рдХреЗ рдЧреБрдг рдирд╣реАрдВ рд╣реИрдВред

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

@markrendle рдпрджрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХреЛрдВ рдиреЗ ASP.NET рдХреЛрд░ рддрд░реНрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рд╡реЗ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЗ рдмрдЬрд╛рдп рдиреЗрдЯрдХреЛрд░рдПрдк рдкрд░ рдирд╣реАрдВ рдХреВрджреЗрдВрдЧреЗ? рдЖрдЦрд┐рд░ рд╡реЗ рднреА рдирдП рдПрдкреАрдЖрдИ рд╕реЗ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ? рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдкрд░реЗрд╢рд╛рди рдХреНрдпреЛрдВ? ASP.NET рд╕рдм рдХреЗ рдмрд╛рдж рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ (рдпрджреНрдпрдкрд┐ рдПрдХ рдмрдбрд╝рд╛)

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

рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдерд╛ рдХрд┐ ASP.NET Core .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИред рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ ред рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрда рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИред

рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЕрдЧрд░ рдХрд┐рд╕реА рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИред

рдЖрдЦрд┐рд░рдХрд╛рд░, ASP.NET Core рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core рдХреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

ASP.NET рдХреЛрд░: рд▓рдХреНрд╖реНрдп .NET рдХреЛрд░ (netcoreapp2.0), рдореМрдЬреВрджрд╛ рдмрд┐рд▓реНрдб
"ASP.NET Core Standard" : рдПрдХ рдФрд░ рдмрд┐рд▓реНрдб, рдЬреЛ .NET Standard (netstandard1.* рдФрд░ net4*) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЕрдиреНрдп рдорд╛рдирдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

рдХреЛрд░ рдмрд┐рд▓реНрдб рдХреЛ .NET рдХреЛрд░ рд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдмрдХрд┐ рдХреЛрд░ рд╕реНрдЯреИрдВрдбрд░реНрдб рдмрд┐рд▓реНрдб рдХреЛ netstandard1.* рдФрд░ net4*, рдФрд░ рдмрд╛рдж рдореЗрдВ .NET рдорд╛рдирдХ 2.0+ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рдЕрдзрд┐рдХ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕рдВрдЧрддред .NET рдХреЛрд░ рдЧреНрд░реАрдирдлрд╝реАрд▓реНрдб рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдорд╛рдирдХ рдмреНрд░рд╛рдЙрдирдлрд╝реАрд▓реНрдб, рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдФрд░ рдЙрджреНрдпрдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ "рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рд╕реНрдЯреИрдВрдбрд░реНрдб" рдХреЛ рд╕рднреА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рд╢рд╛рдЦрд╛ рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдорд╛рдирдХ рдврд╛рдВрдЪреЗ рдореЗрдВ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдорд╛рдирдХ рд╢рд╛рдЦрд╛ рдЬреАрдердм рдкрд░ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдХрд┐ рд╕реНрд╡рдпрдВрд╕реЗрд╡рдХ рдХреЛрд░ рд╢рд╛рдЦрд╛ рд╕реЗ рдорд╛рдирдХ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдФрд░ рдЕрдкрдбреЗрдЯ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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

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

@рдмреЗрдиреНрд╕рд┐рдпреЙрдиреНрдЧ

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

рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдХреБрдЫ рдРрд╕рд╛ рд▓рд┐рдЦ тАЛтАЛрд░рд╣рд╛ рдерд╛ рдЬреЛ _BOBTRUES_ рдХреЗ рд▓рд┐рдП рдирдП рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ-рд╕реНрддрд░реАрдп рд╕рдорд░реНрдерди рд╕реЗ рдмрд╣реБрдд рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реБрдЖ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рдФрд░ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ JSON рдпрд╛ рдЕрдиреНрдп рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рдорд▓рд╛ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ , рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкреИрдХреЗрдЬ рдореЗрдВ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ _BOBTRUES_ рдпрд╛ рдЙрд╕ рд╕рд╛рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ netcoreapp20 рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦреВрдиреА рджрд┐рдорд╛рдЧ рд╣реЛрдирд╛ рд╣реЛрдЧрд╛ рдЬрдм netstandard20 _рд╕рд╛рде рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛_ .

@markrendle рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ Newtonsoft.JSON рдЕрдкрдиреЗ рдЕрдЧрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рд▓ рдХреЗ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рд░рд╣рд╛ рд╣реИ? рдЖрдк рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░реНрд╕рд┐рдВрдЧ, рдЖрдИрдУ рдФрд░ рдЙрдЪреНрдЪ рдкрд░рдл рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рд╣реИрдВ?

рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕ рдкрд░ рд╕реБрдЭрд╛рд╡:

  1. asp.net core 2.x рдХреЛ .net рдкрд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдХреЗрд╡рд▓-рдХреЛрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 3.x рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рдордиреЗ 2.0 рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ 1.x рдкрд░ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ 2.0 рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ)
  2. рд╢реБрд░реВ рд╕реЗ рд╣реА рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдВ рдХрд┐ asp.net core 2.x рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ рдЬреЛ .net рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рд▓рдВрдмрд╛ рдЬреАрд╡рдирдХрд╛рд▓ рджреЗрддрд╛ рд╣реИред
  3. рдЕрдЧрд░ рдХреЛрдИ lib netstandard2.x рдкрд░ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╡рд░реНрддрдорд╛рди рдЕрдиреБрдорд╛рди рдХрд╛рд░реНрдп рд╡рд╣ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИред
  4. рдЙрди рдХрд╛рдореЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рд▓реЛрдЧ netstandard2.x/core рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред (рднрд▓реЗ рд╣реА рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реЛ)
  5. Microsoft рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рд╣рд╛рдБ рд╣рдо рдЧрддрд┐/рд╕реБрд╡рд┐рдзрд╛рдПрдБ/рдЖрджрд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдИ рдХреЛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛/рд╡рд┐рд░рд╛рд╕рдд рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдмреЗрд╣рддрд░ рдмреАрдЪ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рддрд▓рд╛рд╢рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@vectorix : рдпрд╣ рдерд╛ред ASP.NET рдХреЛрд░ рдбреЙрдХреНрд╕ рдкрд░ рдкрд╣рд▓рд╛ рдкреГрд╖реНрда, ASP.NET рдХреЛрд░ рдХрд╛ рдкрд░рд┐рдЪрдп рдХрд╣рддрд╛ рд╣реИ:

рдЕрдЧрд▓реЗ рдХрджрдо

...
ASP.NET рдХреЛрд░ рдРрдк .NET Core рдпрд╛ .NET Framework рд░рдирдЯрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, .NET Core рдФрд░ .NET Framework рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдирд╛ рджреЗрдЦреЗрдВред
...

рдпрд╣ рдПрдХ рдРрд╕реЗ рдкреГрд╖реНрда рд╕реЗ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдк .NET Framework (рдкреВрд░реНрдг рдПрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмрдХрд╡рд╛рд╕ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рддреБрд▓рдирд╛ рдкреГрд╖реНрда рдпрд╣ рднреА рдХрд╣рддрд╛ рд╣реИ:

.NET Framework рдХрдИ рдореМрдЬреВрджрд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдкрд╕рдВрдж рдмрдирд╛ рд░рд╣реЗрдЧрд╛ рдФрд░ рдЗрд╕ рддрд░рд╣, рдЗрд╕реЗ рд╕рднреА рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдЦреБрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ BOBTRUES рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб x рдореЗрдВ рд╣реЛрдЧрд╛ рдЬрд╣рд╛рдВ x рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдиреНрдпрдерд╛ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдорд░ рдЪреБрдХрд╛ рд╣реИ ...

5 рджрд┐рди рдмрд╛рдж рд╣рдо рдмрд┐рд▓реНрдб рдЗрд╡реЗрдВрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВред

рдЖрдЗрдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ Microsoft (рдЙрдореНрдореАрдж рд╣реИ) рдХреЛ рдПрдХ рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рд░реЛрдбрдореИрдк рдХреЛ рд╕рднреА рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ

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

рд╣рдордиреЗ рдЕрднреА-рдЕрднреА рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ Azure рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП .NET462 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ ASP.NET Core 1.1 рд╣реИред рд╣рдореЗрдВ рдЗрд╕ рдорд╛рд░реНрдЧ рдкрд░ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдордПрд╕ рдПрдХреНрд╕реЗрд╕ рдбреАрдмреА рдЕрдкрд▓реЛрдб рдХрд░рдХреЗ рд╕рд╛рдЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдПрдЬрд╝реВрд░ рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ (рдФрд░ рдпрд╣ рдПрдХ рд╕рдВрдШрд░реНрд╖ рдерд╛) рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдерд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд╣реАрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдмрддрд╛рдирд╛ рдкрдбрд╝реЗ рдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ 1, 2, рд╢рд╛рдпрдж 3 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдпрджрд┐ рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдХрд┐ рдПрдХреНрд╕реЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ!

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

@bencyoung рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрдбрд╝рд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ JSON.NET рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХреЛрдВ рдХрд╛ рдЗрд░рд╛рджрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╡реНрдпрд╛рдкрдХ рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрдмрдХрд┐ ASP.NET рдХреЛрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рд╣реИред рдореЗрд░реЗ рдорди рдореЗрдВ рдпрд╣ рдкреНрд░рд╢реНрди рд╣реЛрдЧрд╛ рдХрд┐ ASP.NET Core рдХреА рдХрд┐рддрдиреА рдкрд░рддреЗрдВ .NET рдорд╛рдирдХ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛрдВрдЧреА, рдФрд░ netcore рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдХреНрдпрд╛ рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕ рдирдпрд╛ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ .NET рдорд╛рдирдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ ASP.NET рдХреЛрд░ рд▓реЗрдпрд░рд┐рдВрдЧ рдХреЗ рдкрд╣рд▓реБрдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ @Antaris ASP.NET рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред Kestrel рдЖрд╡реЗрджрди рд╣реИред рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ ASP.NET рдХреЛрд░ рдХреЛ рд╕реНрд╡рдпрдВ рд╣реЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@bencyoung рдлреЗрдпрд░ рдкреЙрдЗрдВрдЯ, рдореЗрд░реА рдУрд░ рд╕реЗ рдЦрд░рд╛рдм рд╢рдмреНрджред

рдореЗрд░реЗ рдХрд╣рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ (рдпрджрд┐ рдореИрдВ рдЗрд╕реЗ рдХрд╣рдиреЗ рдХрд╛ _right_ рддрд░реАрдХрд╛ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реВрдВ), рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛрд░ (рдПрдХ рд╕реНрдЯреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдИ рддрд░рд╣ рд╕реЗ JSON.NET рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред ASP.NET Core рдХреЗ рдЧрддрд┐рдорд╛рди рднрд╛рдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реБрдП, рд░реЗрдЬрд░ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЕрднреА рднреА .NET рдорд╛рдирдХ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА, рдФрд░ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рд╣реИ?

рдореБрдЭреЗ рдЧрд▓рдд рдордд рд╕рдордЭреЛ, рдореИрдВ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрдирд╛рдо рджреВрд╕рд░реЗ рдХрд╛ рдмрдЪрд╛рд╡ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ netfx рдХреЗ рд╕рд╛рде рднрд╡рд┐рд╖реНрдп рдХреА рд╕рдВрдЧрддрддрд╛ рдкрд░ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд/рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреБрдЫ рдЧреНрд░реАрдирдлреАрд▓реНрдб рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд▓рд╛рдн рд╣реЛрддрд╛ рд╣реИред рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рдЕрд░реНрде рдореЗрдВ, рдореИрдВ рдмрдврд╝реА рд╣реБрдИ рд╕рдВрдЧрддрддрд╛ рдХреЗ рддрд░реНрдХ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬреНрдпрд╛рджрд╛ рд╡рдЬрди рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ (рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдкрд░ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ 2+)

@Antaris рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ! рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЕрдВрджрд░, рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдорд╛рди рд╣реА рдЖрд░рдИрдПрд╕рдЯреА рдПрдкреАрдЖрдИ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ ....

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

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ: рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреБрдЫ рдЖрдкрддреНрддрд┐рдпрд╛рдВ рджрд┐рдЦ рд░рд╣реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрдореЛрдЬреА рдХреЗ рд╕рд╛рде рд╕рд╛рд░реНрдердХ рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдХрдард┐рди рд╣реИ;) рдЖрдк рдХрд┐рд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИрдВ?

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

ASP.NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ 4.x рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордЭреМрддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ: рдореЗрд░реЗ рдЬреИрд╕реЗ рдУрдПрд╕/рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрд┐рди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ (рдЬреИрд╕реЗ рдПрдбреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХреНрдпреЛрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЗрд╕ рдЕрдЪреНрдЫреЗ рдордзреНрдп рдорд╛рд░реНрдЧ рдХреЛ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдм, рдЬрдм рдкреБрд░рд╛рдиреЗ 4.x рдврд╛рдВрдЪреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╛рдорд╕реНрдерд╛рди рдЕрднреА рддрдХ ASP.NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред

@ DMWOO7 рдХреГрдкрдпрд╛ .NET рдХреЛрд░ рдФрд░ ASP.NET рдХреЛрд░ рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВред

рдХреГрдкрдпрд╛ .NET рдХреЛрд░ рдФрд░ ASP.NET рдХреЛрд░ рдХреЛ рднреНрд░рдорд┐рдд рди рдХрд░реЗрдВред

рд╡реНрдпрдВрдЧреНрдпред рдореИрдВ

@MartinJohns рдореИрдВрдиреЗ рдЕрдкрдиреА рдкреЛрд╕реНрдЯ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред

@рдмреЗрдиреНрд╕рд┐рдпреЙрдиреНрдЧ

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

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

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

.NET рдХреЗ рдкрд╛рдпрдерди 3 рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд╕рд╛рд▓реЛрдВ рдкрд╣рд▓реЗ рдХреЛрд░ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдРрд╕рд╛ рд╣рд░ рдмрд╛рд░ рд╣реЛрдЧрд╛ред

ASP.NET рдХреЛрд░ рд▓рдХреНрд╖реНрдп netcoreapp2.0 рд╣реЛрдиреЗ рд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред .NET Core рдиреЗ рдПрдХ рдирдИ рд╢реБрд░реБрдЖрдд рдФрд░ рдХрдИ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рдЧрдП рдЙрди рд╕рднреА рдПрдкреАрдЖрдИ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рдЯреНрд░реЗрди рдорд▓рдмреЗ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдкрд╛рдпрдерди 3 рд╕рд╛рджреГрд╢реНрдп рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╣реА рдкрд╛рдпрдерди 3 рд╣реИред

рдареАрдХ рд╣реИ, рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреГрд╢реНрдп рдкреЗрд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдПрдХ рдорд╛рдореВрд▓реА:

  • рдореИрдВ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╕рд╛рдЗрдЯ рдирд╣реАрдВ рдмрдирд╛рддрд╛ (рдЕрднреА рднреА рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ), рд╕рдордп-рд╕рдордп рдкрд░ рдореИрдВ рдЕрдкрдиреЗ рд▓рд┐рдП рдпрд╛ рдЫреЛрдЯреА рдХрдВрдкрдирд┐рдпреЛрдВ/рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯреА рдпрд╛ рдмрдбрд╝реА рд╡реЗрдм рд╕рд╛рдЗрдЯ рд╕реНрдкрд┐рди рдХрд░рддрд╛ рд╣реВрдВред рдХрднреА-рдХрднреА, рд▓реЛрдЧ рдЖрддреЗ рд╣реИрдВ рдФрд░ рддрдХрдиреАрдХреА рд╕рд▓рд╛рд╣ рдорд╛рдВрдЧрддреЗ рд╣реИрдВред
  • рдореИрдВрдиреЗ рд╢реБрд░реБрдЖрдд рд╕реЗ ASP.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ "рд╡реЗрдм рдлреЙрд░реНрдо рд╕реНрдЯреИрдХ" рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реАрдзреЗ HTML рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдФрд░ рд░рдЪрдирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рд░реЗрдЬрд░ рдкреЗрдЬ рд╕реЛрдЪреЗрдВред
  • рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рднреА рд╡реЗрдм рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╣рдореЗрд╢рд╛ рдЖрдИрдЖрдИрдПрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕рд╕реЗ рдирд╛рд░рд╛рдЬ рдирд╣реАрдВ рд╣реВрдВред
  • рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЬреЛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдЙрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реВрдВред
  • рдореИрдВ рдЖрдо рддреМрд░ рдкрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реВрдВред

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

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдореБрдЭреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдореЛрд░реНрдЪреЗ рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ, рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдФрд░ рд╕рднреА рдЕрдЪреНрдЫреА рдирдИ рдЪреАрдЬреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реА, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдкреВрд░реНрдг рдлреАрдЪрд░ рд╕реЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ (рдФрд░ рдУрдПрд╕)ред рдореИрдВрдиреЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдХреБрдЫ рд╕рд░рд▓ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдФрд░ рдПрдХ рдмрдбрд╝рд╛ рднреА рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ред рджрд░рдЕрд╕рд▓, рдореИрдВ ASP.NET Core рдореЗрдВ .NET Framework рдкрд░ рд╕рднреА рдирдП рд╡рд┐рдХрд╛рд╕ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ред рдЦреИрд░, рдореБрдЭреЗ рдФрд░ рдирд╣реАрдВ рд▓рдЧрддрд╛ред

рдореБрдЭреЗ рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдВ (рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд░рдо рдореЗрдВ рдирд╣реАрдВ):

  • ASP.NET Core 2.x рдФрд░ 1.x рдХреНрдпреЛрдВ рдирд╣реАрдВ?
    рд░реЗрдЬрд░ рдкреЗрдЬ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗред рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВред рд╕реНрдерд┐рд░рддрд╛ рдФрд░ рдЬрд┐рд╕реЗ рдЕрдиреНрдп рд▓реЛрдЧ "рдкрд░рд┐рдкрдХреНрд╡рддрд╛" рдХрд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рджреВрд╕рд░реА рд╣реЛрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдмреИрдХрдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдПрдХ рдмрдбрд╝рд╛ рдкреНрд░рднрд╛рд╡ рдорд╛рдирддрд╛ рд╣реВрдВред
    рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП 3.x рдкрд░ рд╕реНрдердЧрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЪрд╛рд▓ рдЪрд▓ рдЬрд╛рдПрдЧреАред

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

  • рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдпрд╛ рдЕрдиреБрдХреВрд▓рддрд╛?
    100% рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБред рд▓реЗрдХрд┐рди, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ UTF-8 (рдФрд░ 4-рдмрд╛рдЗрдЯ рд╡рд░реНрдг!) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдВрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВред рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдирд╣реАрдВ рд╣реИред

  • рдореИрдВ .NET Framework рдХреА рдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ
    рдореИрдВ рдЬрд┐рди рдмрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реВрдВ:

  • _рд╕рд┐рд╕реНрдЯрдо.рд╡рд┐рдВрдбреЛрдЬ.рдореАрдбрд┐рдпрд╛.рдЗрдореЗрдЬрд┐рдВрдЧ_. рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ ~~System.Drawing~ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдЙрдВрдЯрд░-рд╕рдм рдХреБрдЫ .NET рдХреЛрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдПрдХ рд▓рдВрдмрд╛ рдзрд╛рдЧрд╛ рд╣реИ, @JimBobSquarePants рдФрд░ @mstum рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рддреЗ рд╣реБрдП:
    > System.Drawing рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рджреЛрдиреЛрдВ рд╣реИред рдореИрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЙрд╕ рдПрдкреАрдЖрдИ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдХреНрдпреЛрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд╕рд░реНрд╡рд░ рдкрд░ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ (рдорд▓реНрдЯреА рдереНрд░реЗрдбрд┐рдВрдЧ, рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдк, рдЖрдИрд╕реАрд╕реА, EXIF, рдХреНрд╡рд╛рдВрдЯрд┐рдЬрд╝реЗрд╢рди, рдЕрдиреБрдХреНрд░рдорд┐рдд рдкреАрдПрдирдЬреА рдФрд░ рдЗрд╕реА рддрд░рд╣)ред

System.Drawing рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рдХрдХреНрд╖рд╛рдПрдВ Windows рдпрд╛ ASP.NET рд╕реЗрд╡рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЗ рднреАрддрд░ рд╕реЗ рдЗрди рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрдо рд╕реЗрд╡рд╛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд░рди-рдЯрд╛рдЗрдо рдЕрдкрд╡рд╛рджред рд╕рдорд░реНрдерд┐рдд рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП, Windows рдЗрдореЗрдЬрд┐рдВрдЧ рдШрдЯрдХ рджреЗрдЦреЗрдВред

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

  1. _System.Windows.Xps_ рдФрд░ _System.Windows.Markup_ред рдореИрдВ рдПрдХреНрд╕рдкреАрдПрд╕ рдореЗрдВ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ (рдЪрд╛рд▓рд╛рди рд╕реЗ рд╢рд┐рдкрд┐рдВрдЧ рд▓реЗрдмрд▓ рддрдХ) рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реВрдВред XAML рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди-рдЯрд╛рдЗрдо рд╕рдорд░реНрдерди рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдкреАрдврд╝реА рдХреЗ рджреМрд░рд╛рди рдкреВрд░реНрдг-рдлрд╝реАрдЪрд░реНрдб рдбрд╛рдЯрд╛рдмреЗрд╕рд┐рдВрдЧ, рдЯреЗрдХреНрд╕реНрдЯ рд╕реНрдЯреИрдХ, рдкреЗрдЬрд┐рдиреЗрд╢рди, рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдФрд░ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рд╕рд╣рд┐рдд рдПрдХреНрд╕рдПрдПрдордПрд▓ рд▓реЗрдЖрдЙрдЯ - рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ред
  2. _System.Reflection_ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЖрджрд┐ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдврд╛рдВрдЪреЗ рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
    рдЕрдиреНрдп рдЬрд┐рдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
  3. _WCF_ рдФрд░ _ServiceModel_, рд╕рд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдЗрд╕ рдкрд░ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ
  4. _DirectoryServices.Protocols_ рдФрд░ NTLM рдкреНрд░рдорд╛рдгреАрдХрд░рдг
  5. SQL рдореЗрдВ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рдХрд╛рд░
  6. рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА
    рдЕрдиреНрдп рдЬреЛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: рдИ-рдореЗрд▓рд┐рдВрдЧ, рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ред

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

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

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

рдЕрдВрдд рдореЗрдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рд░реНрдгрдп рд╣реИред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ Microsoft рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдмрдбрд╝рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рд╕реЗ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рд░рд╛рдЬрд╛ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛ (рдЕрдЪреНрдЫрд╛ рдпрд╛ рдмреБрд░рд╛, рдореЗрд░реА рдХреЙрд▓ рдирд╣реАрдВред) рдлрд┐рд░ .NET рдХреЛрд░ рдЖрдпрд╛ ... рд╕рдВрдЧрддрддрд╛ рддреЛрдбрд╝рдирд╛ ... рдлрд┐рд░ рдЕрдЪреНрдЫреА рдЦрдмрд░, рд╣рдо рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред ..рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣ ASP.NET Core 2.0 рдмреНрд░реЗрдХ рд╣реИред

рдмрдбрд╝рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЙрдмрд╛рдК, рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрдХрдиреАрдХреА рд╕реНрдЯреИрдХ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХрдо рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Microsoft рдпрд╣ рддрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рд╡реЗ рдХрд┐рд╕ рд╕рдореВрд╣ рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@GiorgioG рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЗ рд╕рд╛рде рдмрдбрд╝рд╛ рд╡реНрдпрд╡рд╕рд╛рдп ASP.NET рдХреЛрд░ рдкрд░ рдХреНрдпреЛрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рдпрд╣ рдПрдХ рдлреИрд╢рди рдЪреАрдЬрд╝ рдпрд╛ рдХреБрдЫ рдФрд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

@ рдорд┐рд▓реМрд╢ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рдзреАрд░реЗ-рдзреАрд░реЗ .NET рдорд╛рдирдХ / ASP.NET рдХреЛрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рддрд╣рдд рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рд╡рд┐рд╢рд╛рд▓, рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд░реВрдкрд╛рдВрддрд░рдг рд░реЛрдХ рджреЗрдВ рдЬрдм рдкреБрд░рд╛рдиреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПред

рдЕрдм рд╡реНрдпрд╡рд╕рд╛рдп рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ .NET рдорд╛рдирдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреВрд▓ рдПрдб рдкреАрдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред

@ рдорд┐рд▓реМрд╢ - рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET Core 1.1 рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХреАред рд╡реЗ рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ рдХрднреА рднреА ASP.NET Core 2.0 рдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ? рдЙрд╕ рдирд╛рд╡ рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рднреА рдмрд╣реБрдд рднрдпрд╛рдирдХ рд▓рдЧрддрд╛ рд╣реИред

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

рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдкрд░ рдХрдо рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдЙрдирдХреА рдХреЛрдИ рд╡рд┐рд░рд╛рд╕рдд рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

@ popcatalin81 - рдЗрди рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рднреА рдкрд╣реБрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдПрдХ рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдЧрддрд┐ рд╣реИ, рдореИрдВ рдПрдордПрд╕ рдХреЛ рд╕реВрдХреНрд╖реНрдо рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджреА рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ- рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЪрд╛рд░реНрдЯ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓рд╛ рд╕рд░реНрд╡рд┐рд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЬреБрдиреВрди рдмрди рдЧрдпрд╛ рд╣реИред

рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдВрдЧреЗ:

"рддреАрди рд░рдирдЯрд╛рдЗрдо, рдПрдХ рдорд╛рдирдХ ... .NET рдорд╛рдирдХ: рд╕рднреА рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2017 рдореЗрдВ"

рдмрд┐рд▓реНрдб https://channel9.msdn.com/ рдкрд░ 45 рдорд┐рдирдЯ рдореЗрдВ рджреЛ рд╕реНрдХреЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

@GiorgioG рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рдЕрдзрд┐рдХ рдерд╛ рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ ASP.NET Core 1.1 рдореЗрдВ рдХреНрдпреЛрдВ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗред рдЕрдЪреНрдЫрд╛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ - рдореЗрд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рджрд┐рди рдирд╣реАрдВ, рдпрд╣ рдкрдХреНрдХрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдХреЛрдбрдмреЗрд╕ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореБрдЭреЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрдбрд╝рд╛ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрддреА рд╣реИрдВред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрдЬрдЯ рдХреЗ рднреА рдореИрдВ ASP.NET рдХреЛрд░ рдкрд░ рдирдИ рдмрдбрд╝реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЯреВрд▓рд┐рдВрдЧ рд╣реЛ рдФрд░ рднрд╡рд┐рд╖реНрдп рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ - рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ред (рдЕрд╕реНрд╡реАрдХрд░рдг: рдлрд┐рд░ рд╕реЗ рдореБрдЭреЗ рдпрд╣ рдирд┐рд░реНрдгрдп рдмрдбрд╝реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛрдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдпрд╛ рдЗрд╕рд╕реЗ рджреВрд░ рд░рд╣рдиреЗ рдкрд░, рдореЗрд░реЗ рд╕рд╛рде рдирдВрдЧреЗ рд╣реЛрдХрд░ рдХрднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред)

рдореИрдВ рд▓реЛрдЧреЛрдВ рдкрд░ рдХреВрджрдиреЗ рдХреЛ рджреЛрд╖ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВ (рдореИрдВрдиреЗ рднреА рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛), рдФрд░ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджреВрд╕рд░реЗ рдкрдХреНрд╖ рдХрд╛ рдмрдЪрд╛рд╡ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ - рдЕрдЧрд░ ASP.NET рдХреЛрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА!

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

@miloush рд╣рдо рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ ".NET рдХреЛрд░ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ"ред рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ;)

@рдорд┐рд▓реМрд╢ рд╡реЗ ASP.NET рдХреЛрд░ рдХреЗ рд╕реБрдзрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрдиреНрд╣реЗрдВ .NET рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдпрд╣ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдЖрдк .NET рдФрд░ .NET Core рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдм рд╡реЗ рдЕрдЪрд╛рдирдХ рдмрд╣реБрдд рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ: рд╡реЗ ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рдВрд╕реНрдХрд░рдг 1.x рдкрд░ рдЕрдЯрдХреЗ рд░рд╣реЗрдВрдЧреЗред рдФрд░ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ 1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ - рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ 1.x рдХреЗ рд▓рд┐рдП рднреА рдирд╣реАрдВ рдЖрдПрдВрдЧреАред

@GiorgioG , рдореИрдВрдиреЗ рдЕрдм рддрдХ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП .Net рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ Asp.Net рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╕рдХреНрд░рд┐рдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВред

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

@MartinJohns рдореБрдЭреЗ рд╡рд╣ рдорд┐рд▓ рдЧрдпрд╛, рдореИрдВ рдЙрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реВрдВред

рдореБрдЭреЗ рдЕрдм рдбрд░ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЕрдкрдиреА рдЖрдЧрд╛рдореА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрдЧреА рдФрд░ рдкреИрдХреНрдЯ-рдиреЗрдЯ-рдХреЛрд░ рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред

ASP.NET Core рдФрд░ MVC рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред ASP.NET рдХреЛрд░ MVC рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛

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

ASP.NET Core рдФрд░ MVC рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред ASP.NET рдХреЛрд░ MVC рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛
@shanselman рдХреНрдпрд╛ рдпрд╣ рддрдп рдХрд░рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рдХреЛрдИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдШреЛрд╖рдгрд╛/рдкреЛрд╕реНрдЯ рдпрд╣ рдХрд╣ рд░рд╣реА рд╣реИ?

рдореИрдВрдиреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.1 рдореЗрдВ рдХреБрдЫ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд┐рдП рд╣реИрдВред рд░реЛрдорд╛рдВрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рдПрдХ рдореГрдд рдЕрдВрдд рд╣реИред рдХрд╛рд╢ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкреБрд░рд╛рдиреЗ ASP.NET рдореЗрдВ рдХрд░рддрд╛ред

рд╕реНрдХреЙрдЯреНрд╕ рдЕрдм рдмрд┐рд▓реНрдб рдХреЛ рдПрдХ рд╡рд╛рд░реНрддрд╛ рджреЗ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рдд рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд╛рд░реНрддрд╛ рдореЗрдВ рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреБрдЫ рд╕рдорд╛рдЪрд╛рд░ред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рд▓рд╛рдЗрд╡ рд╕реНрдЯреНрд░реАрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://channel9.msdn.com/?wt.mc_id=build_hp

рдзрдиреНрдпрд╡рд╛рдж @NickCraver рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рдЯрд┐рдкрд┐рдХрд▓ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯред
рд▓рдЧрднрдЧ 3-4 рджрд╢рдХреЛрдВ рдХреЗ рдмрд╛рдж рднреА рд╡реЗ рд╕рднреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдХрд╕рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХреЗред
рд▓рдЧрднрдЧ 2 рджрд╢рдХ - рдЬреАрд╡рдирдХрд╛рд▓ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ> рднрд╡рд┐рд╖реНрдп рдХреА рдХрд┐рд╕реА рднреА рдЖрд╢рд╛ рдХреЗ рд╕рд╛рде 1 рд╡рд░реНрд╖ред
рдЗрддрдирд╛ рд╣реА!ред
рдЬрд┐рддрдирд╛ рд╣реЛ рд╕рдХреЗ рдЙрддрдирд╛ рдиреАрдЪреЗ, рддрдереНрдп рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред

рдЕрд╕реНрд╡реАрдХрд░рдг: рдореИрдВрдиреЗ рдКрдкрд░ 500+ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдкрдврд╝рд╛ рд╣реИ рд▓реЗрдХрд┐рди _all_ рдирд╣реАрдВред

рдореБрдЭреЗ рдЬреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдПрдордПрд╕ рдЕрднрд┐рдирдп рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╣рдореЗрдВ рдмрд╕ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреВрдЫрддрд╛ рд╣реИ "рдЖрдкрдХреЛ рдХреНрдпрд╛ рд░реЛрдХрддрд╛ рд╣реИ?"

рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ, рднреНрд░рдо рдореЗрдВ рд░рд╣рдирд╛ рдмрдВрдж рдХрд░реЛ! .NET рдХреЛрд░ .NET fx рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЖрдЬ рдирд╣реАрдВ, рдПрдХ рд╕рд╛рд▓ рдореЗрдВ рдирд╣реАрдВ!

рдпрд╣рд╛рдБ рдореБрдЭреЗ рдХреНрдпрд╛ рд╣реИ (рдореЗрд░реА ASP.NET рдХреЛрд░ 1.1 рдкрд░рд┐рдпреЛрдЬрдирд╛ .NET fx рдкрд░ рдЪрд▓ рд░рд╣реА рд╣реИ) рд╡рд╛рдкрд╕:

  • рдореБрдЭреЗ рд╢реВрдиреНрдп рд╡реНрдпрд╛рдкрд╛рд░ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡рд╛рд╕рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрди рдФрд░ рд╕рдордп рдЪрд╛рд╣рд┐рдПред рдкреНрд░рдмрдВрдзрди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдард┐рди рд╣реИред
  • рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ... рд╢реВрдиреНрдп рд╡реНрдпрд╛рдкрд╛рд░ рд╕реБрдзрд╛рд░ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдЧрдорди рдЬреЛрдЦрд┐рдоред
  • рд╣рдореЗрдВ рдЕрдиреНрдп рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ COM api рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдирдлрд░рдд рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред @shanselman .NET fx рдФрд░ "рджрд░реНрдж рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣реЛрдиреЗ" рдкрд░ рдЖрдЙрдЯ рдСрдл proc рд╕реЗрд╡рд╛ рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдирд╣реАрдВ, рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
  • рдИрдПрдл рдПрдХ рдкреНрд░рдореБрдЦ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЕрднреА рднреА рдПрдлрдПрдХреНрд╕ рдкрд░ рд╣реВрдВред рдПрдордПрд╕ рд╕реАрдзреЗ рдЕрдкрдирд╛ рд╕рд╛рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рдЖрдк рд╣рдорд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред EF рдХреЛрд░ рдХрд╣реАрдВ рднреА EF 6 рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред
  • Oracle DB рдкреНрд░рджрд╛рддрд╛ Core рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░: рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕реА рд╕реАрдорд╛рдПрдБ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Oracle рдЙрдиреНрдирдд рдХрддрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВред
  • рд╣рдо рдХрдИ рддреГрддреАрдп рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╣реЛ рдЧрдП рд╣реИрдВ, рдХреБрдЫ рдиреЗ рдирд╣реАрдВ (рдЕрднреА рддрдХ рдпрд╛ рдХрднреА рднреА?)

@davidfowl
рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдореБрдЭреЗ рдРрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рд╛рддреА рд╣реИрдВ рдХрд┐ .NET fx рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ... рддреЛ рдХреНрдпрд╛ рдЖрдк рдХрднреА рднреА fx рдореЗрдВ HTTP/2 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ?
рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдирд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рдо .NET fx рдкрд░ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡рд╣ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореГрдд рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдПрдХ wpf рдРрдк рд╕реЗ HTTP/2 рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ?
рдореБрдЭреЗ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реБрдзрд╛рд░ .NET рдХреЛрд░ рдХреЛ рддреЗрдЬреА рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдХреБрдЫ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рдХреЗрд╡рд▓ рдХреЛрд░ рд╣реИрдВред рд▓реЗрдХрд┐рди .NET рдХреЛрд░ рдЬрд▓реНрдж рд╣реА .NET fx рдХреА рдЬрдЧрд╣ рдирд╣реАрдВ рд▓реЗ рд░рд╣рд╛ рд╣реИред

.NET fx рдкрд░ рдЖрдЬ рд╡реЗрдм рдРрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП MS рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреНрдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛)?

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рддрд░рд╕ рд░рд╣рд╛ рд╣реВрдВ (рдореИрдВ рдирд╣реАрдВ рдХрд░рддрд╛), рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдЬреАрд╡рд┐рдд рдордВрдЪ рдкрд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореГрдд рдирд╣реАрдВред рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ - рднрд▓реЗ рд╣реА рдзреАрд░реЗ-рдзреАрд░реЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдЕрдЧрд░ ASP.NET Core 2.0 .NET fx 5.0 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдЕрдкрдЧреНрд░реЗрдб рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рдордп рд░рд╣рддреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк .NET 5.0 рдХреЛ рдХрдм рд╢рд┐рдк рдХрд░рддреЗ рд╣реИрдВ - рднрд▓реЗ рд╣реА рдпрд╣ ASP.NET Core 2.0 рд╕реЗ рдмрд╣реБрдд рдмрд╛рдж рдХрд╛ рд╣реЛ - рдФрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореБрдЭреЗ .NET 4.6 рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред _рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдкрдЧреНрд░реЗрдб рдкрде рдФрд░ рднрд╡рд┐рд╖реНрдп рд╣реИред_

рдЕрдЧрд░ ASP.NET Core 2.0 .NET Core _only_ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдЧрддрд┐рд░реЛрдз рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВред
рдЬрд┐рддрдирд╛ рдореИрдВ рдЪрд╛рд╣реВрдВ, рдореИрдВ рдЕрдЧрд▓реЗ _years_ рдореЗрдВ fx рд╕реЗ core рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред рдХреНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рджреЗрдЦреЗрдВред

@Kukkimonsuta рдХреЗ рдКрдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╕рд╛рд░рд╛рдВрд╢реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрд░-рдСрди-рдиреЗрдЯрдПрдлрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдЬрдореАрди рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рдХ рдИрдПрдл рдХреЛрд░ рд╡реА рдИрдПрдл 6 рдерд╛, рд╕рд╛рде рд╣реА рдЕрдиреНрдп рдУрдПрд╕рдПрд╕ рдЯреВрд▓рд╕реЗрдЯ рдЬреЛ netstandard рдХреЙрдореНрдкреИрдЯ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗ рд╣реИрдВред

рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдПрдХ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ @davidfowl рдФрд░ рдЙрдирдХреЗ рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рдиреЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ "рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ": рдЪрд┐рд▓реНрд▓рд╛рдиреЗ рдФрд░ рд░реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд░рдХреНрддрд╣реАрди рд╣реИ "рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?" рдмрд╛рддрдЪреАрдд рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдпрд╣ рдПрдХ рд╕рд░рд╛рд╣рдиреАрдп рдкреНрд░рдпрд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╣ (рдЕрдирдЬрд╛рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ) рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЫреБрдкрд╛ рд░рд╣рд╛ рд╣реИред рдЙрдирдХреА (рдФрд░ @shanselman рдХреА) рдЕрдиреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЛ "рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ" рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдлрд┐рд░ рд╕реЗ рдПрдХ рдкреНрд░рд╢рдВрд╕рдиреАрдп рд▓рдХреНрд╖реНрдп, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИред (рдЫрд┐рдкреА рд╣реБрдИ рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдУрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп "рдЫрд┐рдкреА рд╣реБрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ" рд╣реЛрддреА рд╣реИрдВред)

рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдордиреЛрд╡реИрдЬреНрдЮрд╛рдирд┐рдХ/рднрд╛рд╡рдирд╛рддреНрдордХ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рддреЛ, @MisterGoodcat рд╡рд┐рднрд╛рдЬрди рдХреЛ рдкрд╛рдЯрдиреЗ рдХреЗ рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рд╕рдВрдШрд░реНрд╖ рдХрд░реЗрдЧрд╛ред @GiorgioG рдиреЗ рдЕрдкрдиреЗ рд╡рд┐рд╡рд╛рдж рдХреЗ рд╕рд╛рде рдирд┐рд╢рд╛рди рдХреЗ рдХрд░реАрдм рдорд╛рд░рд╛ рдХрд┐ "рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛" рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ "рдмрдбрд╝рд╛ рд╡реНрдпрд╡рд╕рд╛рдп" рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

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

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

рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рд░рд╡реИрдпрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХрд┐ рдкреБрд░рд╛рдиреЗ, рдЧреИрд░-рдкреЛрд░реНрдЯреЗрдмрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ "рдПрдЬ-рдХреЗрд╕" рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдорд╛рдирд╛, рдпрд╣ рдХреЛрдИ рдРрд╕реА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрдИ рдлрдВрд╕рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддрдХрдиреАрдХреА рдЛрдг рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдПрдХ рд▓рд╛рдЧрдд рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЧреИрд░-рд╣рд┐рддрдзрд╛рд░рдХ рдХреЗ рд╢реЗрдбреНрдпреВрд▓ рдкрд░ рд╡рд╣рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред

рдЕрдм, рдЬрдмрдХрд┐ рдпреЗ рд▓рд╛рдЧрддреЗрдВ рдорд╛рдореВрд▓реА рдирд╣реАрдВ рд╣реИрдВ, рд╣рдо рд╕рднреА рдЗрд╕ рдХрд╛рдо рдХреА рд▓рд╛рдЗрди рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирддреЗ рдФрд░ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рдереЗ рдХрд┐ рднрд▓реЗ рд╣реА рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рдордЬрдмреВрд░ рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдЙрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рдирд╛ рд╕рд╣реА рдХрд╛рдо рд╣реЛрдЧрд╛ред рд╕рдорд╕реНрдпрд╛рдпреЗ:

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

рдореИрдВ рд╡реЗрдЧрд╛рд╕ рдореЗрдВ рдореБрдЦреНрдп рд╡рдХреНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдерд╛ рдЬрдм @shanselman рдиреЗ рдмрдЯрди рдХреЛ рдУрдкрди-рд╕реЛрд░реНрд╕ ASP.NET рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ред рддрдм рд╕реЗ, MS рдХреЗрд╡рд▓ OSS рдХреА рдУрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдПрдХ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ: OSS рдХреА рдЕрдЪреНрдЫрд╛рдИ рдХреЗ рд╕рд╛рде, рдХреНрдпрд╛ "рдмреБрд░рд╛" рднреА Microsoft рдХреА рдиреИрддрд┐рдХрддрд╛ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛? рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд░рдЦреЛ, рд╣рдореЗрдВ рдЬреЛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдВ рдХреНрдпрд╛ рдЦреЛ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдЗрд╕реЗ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред


рдПрдХ рдФрд░ рддрд░рдл: рдореИрдВ @markrendle рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдХрд┐ рдпрд╣ рдХрджрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ netfx рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдЯреВрд▓/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП "рдкреИрдВрдЯ рдореЗрдВ рд▓рд╛рдд рдорд╛рд░рдирд╛" рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд╕рд╛рде рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐: рдкрд╣рд▓рд╛, рдПрдХ рд╕рдордпрд░реЗрдЦрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддреАред рдЕрдЧрд░ рдПрди-рд╡рд░реНрд╖ рд╕рдВрд╕реНрдХрд░рдг рдЪрдХреНрд░ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереА рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдПрдо.0 рдореЗрдВ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдЖрдо рддреМрд░ рдкрд░ .NET рдХреЛрд░ рдореЗрдВ рдЕрд╡рд╢реЛрд╖рдг рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рддреЛ рдпрд╣ "рд╕реНрдЯрд┐рдХ" рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдореИрдВ рдЙрди рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧрд╛ рдЬреЛ рдореИрдВ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ (рдЗрд╕рд▓рд┐рдП рдмреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП)ред рджреВрд╕рд░рд╛, рдЗрд╕ рдШреЛрд╖рдгрд╛ рдХреЗ рд╕рд╛рде, (рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдирдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрдпрд╛ рд▓рд╛рддреА рд╣реИ) рдЙрдкрдХрд░рдг рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ ASP.NET (MVC рдпрд╛ Core) рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВ, рдЕрдм netstandard рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдХреЙрдореНрдкреИрдЯ рдХрд░реЗрдВ рдФрд░ рд╕реАрдзреЗ .NET рдХреЛрд░ рдкрд░ рдЬрд╛рдПрдВ, .NET рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдФрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реБрдПред

FYI рдХрд░реЗрдВ .NET рдХреЛрд░ 2.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ:
https://www.microsoft.com/net/core/preview

рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рдирд╛ рдореБрдЭреЗ рдкреВрд░реНрдг рдиреЗрдЯ рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд┐рдЯреНрд╕ рдореЗрдВ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рд╣реИ рдирд╛?

рдареАрдХ рд╣реИ, рдореЗрд░реЗ рдПрдХ рдбрд░ рдХреА рдкреБрд╖реНрдЯрд┐ рд╣реЛ рдЧрдИ рд╣реИред

рдПрдордПрд╕ рдмрд┐рд▓реНрдб рдЯреЙрдХ рд╕реЗ рд╕реАрдзреЗ рдЙрджреНрдзрд░рдг рдХреЗ рдкрд╛рд╕: "рдиреБрдЧреЗрдЯ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛ 70% .NET рдорд╛рдирдХ 2 рдПрдкреАрдЖрдИ рд╕рдВрдЧрдд рд╣реИ ... рдФрд░ рдХреЗрд╡рд▓ рд╡рд╣реА рд╣реИрдВ рдЬреЛ WinForms рдФрд░ wpf рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ ред рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╣реИред рдХреЛрдИ рдкреБрди: рд╕рдВрдХрд▓рди рдирд╣реАрдВред рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред"

рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рднреНрд░рд╛рдордХ рд╣реИред

@PabloAlarcon рдпрд╣ рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:

https://github.com/aspnet/Mvc/commit/1c5e4176069ea20671e1738ac599e544633f47ce

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ net46 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╣реИ:

-    <TargetFrameworks>net46;netstandard1.6</TargetFrameworks>
+    <TargetFramework>netcoreapp2.0</TargetFramework>

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЛ рдЪрд╛рд╣рддреЗ рдереЗ:

-    <TargetFrameworks>net46;netstandard1.6</TargetFrameworks>
+    <TargetFramework>netstandard2.0</TargetFramework>

рдУрд╣, рдзрдиреНрдпрд╡рд╛рдж, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорддрд▓рдм рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдХреЗ рд░рд┐рд▓реАрдЬ рдиреЛрдЯреНрд╕ рдкрд░ рдерд╛: https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0.0-preview1.md

@PabloAlarcon рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрдЪрд╛рд░ рдХреА рдкреВрд░реНрдг рдХрдореА рдереА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдмрд┐рд▓реНрдб рдХреЗ рд╕реНрдкреАрдХрд░ рднреА рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХ рддрдВрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреНрд░рд╛рдордХ рдЬрд╛рдирдХрд╛рд░реА/рдЖрдВрдХрдбрд╝реЗ рдЙрджреНрдзреГрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡реЗ рд╕рднреА рджрд╛рд╡рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ libs netstandard2.0 рд╕рдВрдЧрдд рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрдВрддрддрдГ) рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдорд╡реАрд╕реА рджрд┐рд╢рд╛ рдореЗрдВ рднреА рд╕рд╛рдВрд╕ рд▓реЗрддреА рд╣реИ рддреЛ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реЗ .NET Core 2 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯ рд╣реИрдВ, рди рдХрд┐ ASP.NET Core 2 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╣рд╛рдВ рд╣реЛрдЧрд╛: https://github.com/aspnet/home/releases/2.0.0-preview1

рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬреНрдЮрд╛рдд рдореБрджреНрджреЛрдВ рдХреЗ рддрд╣рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП ...

рдореЗрд░рд╛ рдмреБрд░рд╛, рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдкреЗрдЬ рдкрдврд╝реЗ рд▓реЗрдХрд┐рди .net рдХреЛрд░ рдХреЛ рдХреЙрдкреА рдХрд┐рдпрд╛ред

рдЕрднреА рднреА рд╡рд╣реА, рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред

@marcrocny рдЖрдкрдиреЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рд╛ рдХрд┐ рдореИрдВрдиреЗ "рдХреНрдпрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп?" рдкреНрд░рд╢реНрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореБрджреНрджреЗ рд╕реЗ рдЬрд┐рддрдирд╛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдЙрд╕рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдирдП рдФрд░ рдЪрдордХрджрд╛рд░ рд╕рд░реНрд╡рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рдЙрдЪрд┐рдд рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╡реЗ рд╕реНрдерд┐рд░ рд╣реИрдВ рдФрд░, рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

10 рд░реБрдкрдпреЗ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ HTTP2 рдХрднреА рднреА рдкреВрд░реНрдг .Net рдкрд░ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ ASP.Net рдХреЛрд░ рдХреЗ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдХрд╛рдВрдЯреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╡рд╛рдкрд╕ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдФрд░ NancyFX рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ ASP.NET рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдЙрдирдХреЗ рдХрд╛рд░рдгреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

@ dbus0 рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк Microsoft рдХреЗ рдврд╛рдВрдЪреЗ рдХреА рдкрд╡рд┐рддреНрд░, рдзрдиреНрдп рднреВрдорд┐ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (ASP.NET рдХреА рддреБрд▓рдирд╛ рдореЗрдВ)

рдпрджрд┐ рдЖрдк рд╡реЗрдм рдХреЗ рд▓рд┐рдП ASP.NET рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЧреИрд░-.NET рддрдХрдиреАрдХреА рд╕реНрдЯреИрдХ IMO рдЪреБрдирдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ 2.0 рдЕрд╕рдВрднрд╡ рдмрдирд╛рддреА рд╣реИрдВ ??

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

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рддрдм рдирдлрд░рдд рд╣реЛрддреА рд╣реИ рдЬрдм рдЯреАрдореЗрдВ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдордВрддреНрд░реЛрдВ рдЬреИрд╕реЗ "рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛", "рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛" рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗрд╡рд▓ рдирдХрд▓реА рддрдХрдиреАрдХреА рдХрд╛рд░рдгреЛрдВ рдХреЗ рдкреАрдЫреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рддреА рд╣реИрдВред рдореИрдВрдиреЗ рдЗрдХреЛ-рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреБрдЫ "рдпрд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ - рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдареАрдХ рдХрд░реЗрдВ" рдЙрддреНрддрд░ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдореИрдВ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЕрдм рдмрд╣реБрдд рд╕рд╛рд░реА MS рддрдХрдиреАрдХреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ .NET рдХреЛрд░ рдЬрд┐рд╕реЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рдерд╛ рд▓реЗрдХрд┐рди рдЕрд╕рдВрдЧрдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкрд╛рдЧрд▓рдкрди рдФрд░ рдХрд┐рд╕реА рднреА рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ .NET рдХреЛрд░ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реНрдерд┐рддрд┐ (рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдЖрд░рд╕реА рдкрд░ рд╕рдм рдХреБрдЫ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ? рдУрд╣ рдХреГрдкрдпрд╛ ...) рд▓реЗрдХрд┐рди рддрдереНрдп, рдбреЗрд╡рд▓рдкрд░ рдФрд░ рдП рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдХреЛрд░ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреА рдУрд░ рд╕реЗ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдФрд░ рди рд╣реА рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрд░ 1.0 рдХреИрд╕реЗ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреЛрд░ 1.1 рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ рддреЛрдбрд╝рддрд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рднреА рд╣рдо рдХрд░реЗрдВрдЧреЗ 2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЙрди рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ 2.0 рдореЗрдВ рд╣реИрдВ рдФрд░... рдХреНрдпрд╛ ? рдХреНрдпрд╛ рддреБрдо рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реЛ ?

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

рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдордиреЗ рдХрд┐рддрдиреА рдПрдордПрд╕ рддрдХрдиреАрдХреЛрдВ рдХреЛ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо 1998 рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рджреБрдХрд╛рди рд╣реИрдВред рд╣реЗрдХ, рд╣рдорд╛рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдкрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдпрд╣ "рдПрдХ .NET рдЪреАрдЬ" рдпрд╛ "рдпрд╣ рдПрдХ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЪреАрдЬ рд╣реИ" (рдХреЛрдИ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рдкреВрдЫрд╛ рдЧрдпрд╛ - рдпрд╣ рд╣реИ рд╡рд┐рдВрдбреЛрдЬрд╝ -> рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░реЗрдВ) рд▓реЗрдХрд┐рди рдЖрдЬ рдЬрдм рдореБрдЭреЗ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХ рдЪреБрдирдиреА рд╣реЛрддреА рд╣реИ рддреЛ рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ .NET рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдЙрдЪрд┐рдд рд╣реИ, рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓рддреЗ рд╣реБрдПред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, .NET рдХреЛрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА рдирд┐рд╡реЗрд╢ рдХрдо рд╕реЗ рдХрдо рддрдм рддрдХ рд░реБрдХреЗрдВрдЧреЗ рдЬрдм рддрдХ рд╣рдо рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд▓реЗрддреЗ рдХрд┐ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рди рддреЛ рдЗрдЪреНрдЫрд╛рд╢рдХреНрддрд┐ рд╣реИ рдФрд░ рди рд╣реА рд╕рдордп рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕реЗ рдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .NET Core 1.1 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╣рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╣ рдврд╛рдВрдЪреЗ рдХреЗ "рдкреБрд░рд╛рдиреЗ" рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ рдЬрд╣рд╛рдВ "OLD" рдХрд╛ рдЕрд░реНрде рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ 3 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рднреА рд╣рдореЗрдВ "рдкреБрд░рд╛рдиреЗ" рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рдиреНрд╣реЗрдВ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (рдордИрдмреАрдИ) рд▓реЗрдХрд┐рди рдХреЛрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧреАред

рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ .NET рдврд╛рдВрдЪреЗ рдкрд░ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ .NET рдврд╛рдВрдЪреЗ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ред рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣рдо vNext рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреАрдЯрд╛ рдпрд╛ рдЕрд▓реНрдлрд╛ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рд╣рдо vNext рдореЗрдВ рдХрд┐рди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП GitHub рдпрд╛ рдХреБрдЫ рдЕрд╕реНрдкрд╖реНрдЯ рдлрд╝реЛрд░рдо рдХреЛ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рдКрдкрд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЗрд╕рд▓рд┐рдП рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдРрд╕реА рд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣рдорд╛рд░рд╛ рдЬреЛрдЦрд┐рдо рд╣реИ рдЬреЛ рдЕрдВрддрд┐рдо рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреЛ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕ рдкрд╛рдЧрд▓рдкрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ (рдФрд░ рд╣реЛрдЧрд╛) рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдпрд╣ "рдлреБрд░реНрддреАрд▓реА" рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦрд╛рд▓реА рд╕рдордп рд╡рд╛рд▓реЗ рдмрдЪреНрдЪреЗ рд╣реИрдВред

рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рд╕реЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдЧреЗрдЯреНрд╕ рдХреЛ рдорд┐рд╕ рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдмрд╛рд▓реНрдорд░ рдХреЛ рднреА рдорд┐рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рджреЛрд╕реНрддреЛрдВред

рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .NET Core рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рд╣реЛрдЧреАред рдмрд╣реБрдд рд╕реЗ рддреГрддреАрдп рдкрдХреНрд╖ рдврд╛рдВрдЪреЗ рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рд╕рдордп .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ NServiceBus рдХреЛ рд▓реЗрдВред рдХреГрдкрдпрд╛ рдХрдо рд╕реЗ рдХрдо ASP .NET Core 3 рддрдХ .NET Framework рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ...

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ (рд╕рдВрдмрдВрдзрд┐рдд) рдШреЛрд╖рдгрд╛
https://blogs.msdn.microsoft.com/webdev/2017/05/10/aspnet-2-preview-1/

рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдореБрджреНрджреЗ

ASP.NET Core 2.0 рдХрд╛ рдпрд╣ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ .NET Core 2.0 SDK рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп ASP.NET Core 2.0 рдХреЛ .NET рдорд╛рдирдХ 2.0 рдкрд░ рд╢рд┐рдк рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди .NET Core, Mono рдФрд░ .NET Framework рдкрд░ рдЪрд▓ рд╕рдХреЗрдВред

рдЪреВрдВрдХрд┐ рдЯреАрдо рдмрд┐рд▓реНрдб рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ ASP.NET Core 2.0 рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ .NET рдорд╛рдирдХ 2.0 рд╕реЗ рдмрд╛рд╣рд░ рдереЗ, рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рдереЗред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣рдордиреЗ рдкреНрд░реАрд╡реНрдпреВ 1 рд╕рдкреЛрд░реНрдЯ .NET Core рдХреЛ рд╣реА рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ ASP.NET Core 2 рдкреНрд░реАрд╡реНрдпреВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝реЗрдЧрд╛ред

рд╡рд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ рдмреИрдХрдкреЗрдбрд▓рд┐рдВрдЧред

рддреЛ .NET Framework рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ "рдФрдЪрд┐рддреНрдп" рд╕рд┐рд░реНрдл рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рдерд╛?

рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рднреА рд╣реГрджрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХреА рдЧрдИ рдереА...

@рдмреЗрдирд╛рджрдореНрд╕

рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп ASP.NET Core 2.0 рдХреЛ .NET рдорд╛рдирдХ 2.0 рдкрд░ рд╢рд┐рдк рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди .NET Core, Mono рдФрд░ .NET Framework рдкрд░ рдЪрд▓ рд╕рдХреЗрдВред

"рд╣рдо рд╣рдореЗрд╢рд╛ рдИрд╕реНрдЯрд╛рд╢рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдпреБрджреНрдз рдореЗрдВ рд░рд╣реЗ рд╣реИрдВ"

рдпрд╣ рд╕реБрдХреВрди рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ ASP.NET рдХреЛрд░ рд╕рджрд╕реНрдпреЛрдВ рдХреА рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдиреЗ рдПрдХ _very_ рдЕрд▓рдЧ рд╕рдВрджреЗрд╢ рджрд┐рдпрд╛ред

рдХреГрдкрдпрд╛ .NET рдврд╛рдВрдЪреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ ASP.NET рдХреЛрд░ рдХреЗ рдордзреНрдпрд╛рд╡рдзрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрдпрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ MS ASP.NET рдХреЛрд░ рдХреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ?
рд╕рд┐рд░реНрдл ASP.NET Core 2.0 рд░рд┐рд▓реАрдЬ рд╣реА рдирд╣реАрдВ (рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ 4.7 рдкрд░)ред

рдпрд╣рд╛рдВ рдПрдХ рдЖрдордиреЗ-рд╕рд╛рдордиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВред рдмрд╕ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ? :рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛:

рд╡рд╣рд╛рдБ рдЕрдЪреНрдЫрд╛ рдмреИрдХрдкреЗрдбрд▓рд┐рдВрдЧред

рддреЛ .NET Framework рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ "рдФрдЪрд┐рддреНрдп" рд╕рд┐рд░реНрдл рдПрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рдерд╛?

рдЕрд░реЗ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдбрд┐рдХ рдордд рдмрдиреЛред ASP.NET Core рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдирдХрд╛ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдерд╛, рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рджреА рдЧрдИ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдиреА рдЧрдИ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж ASP.NET рдЯреАрдо

@davidfowl

рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╣рдордиреЗ .NET Framework рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕рд░рдгреА рдХрдм рдмрджрд▓реА рдереА?

.рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.6 рдореЗрдВ, рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирдП .Net Framework 4.7 рдФрд░ рджреЛ рд╕рд╛рд▓ рд╕реЗ рднреА рдХрдо рд╕рдордп рдХреЗ рдкреАрдЫреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

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

@рдЬреЗрдореНрд╕рдПрдирдХреЗ

рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рджреА рдЧрдИ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕реБрдиреА рдЧрдИрдВ

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

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

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

рдЙрдирдХреЗ рдмрдЪрд╛рд╡ рдореЗрдВ (рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛), рдкреВрд░реА рдЯреАрдо рдмрд┐рд▓реНрдб рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЬрд▓реНрдж рд╣реА рдпрд╣рд╛рдВ рдХреБрдЫ рд╕реБрдиреЗрдВрдЧреЗ-рдИрд╢ред рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдЗрд╕ рдлреИрд╕рд▓реЗ рд╕реЗ рдХрд┐рд╕реА рдХреА рдЬрд┐рдВрджрдЧреА рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рдирд╣реАрдВ рд╣реИред

рдЕрд░реЗ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдбрд┐рдХ рдордд рдмрдиреЛред

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

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

рд╣рдордиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЙрди рдкреНрд░рдореБрдЦ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рдЪрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо .NET рдХреЛрд░ рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдХрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ utf8 рд╣реЛрдирд╛ рд╣реИ (рдХрдИ рдХреЙрдореНрдкрд┐рдЯрд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ)ред
рдПрдХ рдФрд░ рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдо рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рд╕рд░рдгрд┐рдпреЛрдВ/рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╕реНрддреЗ рд╕реНрд▓рд╛рдЗрд╕, рд╕рдиреНрдирд┐рд╣рд┐рдд рд╕реНрдореГрддрд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХреЛ рд▓реЗрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ред рд╣рдордиреЗ Span . рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИрдФрд░ рдмрдлрд╝рд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВрдЗрд╕рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдРрд░реЗ рдирдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓реЗрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП 0 рдЖрд╡рдВрдЯрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рдирдП рддрд░реАрдХреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рднрд╛рдЬрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдПрдХ рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ Int, UInt рдЖрджрд┐ (TryParse) рдкрд░ рдУрд╡рд░рд▓реЛрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ Span . рд▓реЗрддреЗ рд╣реИрдВрдФрд░ рд╕реНрдкреИрди.
рдпрд╣ рдирдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд░реВрдЯреАрди рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдкреИрди.
рдмрдлрд░рдФрд░ рд╕реНрдкреИрдирдЖрдкрдХреЛ рдПрдХ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕реНрдЯреИрдХ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реНрдкреИрди рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реА-рдкрд┐рди рдХрд┐рдП рдЧрдП рдмрдлрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдпрд╛ рдмрдлрд░.
Kestrel HTTP2 рдХреЛ 2.x рд╕рдордп рд╕реАрдорд╛ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ 2.1 рдкрд░ рд▓рдХреНрд╖рд┐рдд) рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП ALPN (https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SSL рд╕реНрдЯреНрд░реАрдо рдкрд░ рдирдП API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
.NET рдХреЛрд░ рдкрд░ рдПрдЪрдЯреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдбреБрдкреНрд▓реЗрдХреНрд╕ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдПрдХ рдПрдХрд▓, рдЧреИрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдПрдЪрдЯреАрдЯреАрдкреА рдЕрдиреБрд░реЛрдз рдкрд░ рд╕рд┐рдЧреНрдирд▓рд░ рдореЗрдВ рдПрдЪрдЯреАрдЯреАрдкреА рдкрд░ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдВрдб рдкреЙрдЗрдВрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред
рд╣рдордиреЗ HttpClient рдФрд░ System.Net.Http рд╕реЗ рд╣реЗрдбрд░ рдкрд╛рд░реНрд╕рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рдФрд░ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ (https://github.com/aspnet/HttpAbstractions/tree/d1d9bceff56cb44a194ae36923ce687e5e353006/src/Microsoft.Net.Http.Headers) рддрд╛рдХрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░ рд╕рдХреЗрдВред рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ .NET Framework рдФрд░ .NET Core рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред .NET рдХреЛрд░ рдХреЗ рдкрд╛рд╕ рдЗрди рд╕реБрдзрд╛рд░реЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓рд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ)ред
рдмрд╣реБрдд рд╕реЗ рдирдП рдереНрд░реЗрдбрд┐рдВрдЧ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рд╡ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдирдП рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рд▓рд╛рдПрдВрдЧреЗ рдпрджрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ (https://github.com/dotnet/corefx/issues?q=is%3Aopen+is%3Aissue+ рд▓реЗрдЦрдХ%3Advidfowl+label%3Aarea-System.Threading), рдпреЗ рдХреБрдЫ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рджрд╛рдпрд░ рдХрд┐рдпрд╛ рд╣реИред

рдЖрд░рдЖрдИрдкреА рдЖрдзреБрдирд┐рдХ рдордВрдЪред рдЕрдЧрд░ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдЯреАрдо рдХреЛ рдКрдкрд░ рд╕реЗ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред

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

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

рдЖрдк рдкрд░реЗрд╢рд╛рди рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдореБрджрд╛рдп рдХреА рдмрд╛рдд рд╕реБрдиреА рдФрд░ (рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ) рдкрд╛рдареНрдпрдХреНрд░рдо рдмрджрд▓ рджрд┐рдпрд╛? рдЖрдк рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬрд╝ рдкрд░ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдХрднреА рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдореЗрдВ рди рддреЛ рд╕рдореБрджрд╛рдп рд╣реИ рдФрд░ рди рд╣реА Microsoft рдХреА рдЧрд▓рддреА рд╣реИред

рдЕрдЪреНрдЫреА рдЦрдмрд░!

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ utf8 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕реЗ рдЪреВрдХ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @davidfowl рджреНрд╡рд╛рд░рд╛ рдмрд╛рдд рдХреА рдЧрдИ рд╣реИ (рдпрджрд┐ .NET рдХреЛрд░ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ)

рдЪреВрдВрдХрд┐ "ASP.NET Core 2.0 рдХреЗ рд▓рд┐рдП рдХреЛрдИ .NET рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдорд░реНрдерди рдирд╣реАрдВ" рдпреЛрдЬрдирд╛ рдЕрдВрддрддрдГ рд░рджреНрдж рдХрд░ рджреА рдЧрдИ рдереА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рдЗрд╕ рдереНрд░реЗрдб рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓реВрдВ рддреЛ рдореБрдЭреЗ рдкрд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВ)ред

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

рднрд▓реЗ рд╣реА рд╣рдо рд╕рднреА рдХреА рд░рд╛рдп рдЕрд▓рдЧ-рдЕрд▓рдЧ рдереА, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рдереА рдХрд┐ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмрдбрд╝реА - рдФрд░ рдЕрднреВрддрдкреВрд░реНрд╡ - рд╕рдлрд▓рддрд╛ рд╣реИ (150 рдкреНрд░рддрд┐рднрд╛рдЧреА рдФрд░ 600 рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрджреЗрд╢, рд╡реВрдЯ!)

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдорд╣рд╛рди рд╕рдореБрджрд╛рдп рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рджреЗрдЦрдирд╛ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИ, рдореБрдЭреЗ рдЗрд╕рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рдЧрд░реНрд╡ рд╣реИ: call_me_hand:

@davidfowl @DamianEdwards @shanselman рдзрдиреНрдпрд╡рд╛рдж ред рдпрд╣ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЕрдм рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рд╡рд╛рд╕ рдХрд░рдиреЗ рдХреА рдЕрдкрдиреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ ASP.NET рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдордп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрджрдо рд╣реИред

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

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

рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╣рдо рдЬрд▓реНрдж рд╣реА рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЛрдбрдореИрдк рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм рдХреБрдЫ рдореВрд▓ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде - рдмрд╕, рд╕рдордп рдХреЗ рд╕рд╛рде рд╕рднреА рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ :)

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

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

рдкрд┐рдЫрд▓реЗ 9 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдореИрдВ рдЧрд┐рдердм рдкрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣ рд╕рдмрд╕реЗ рд╕рдХреНрд░рд┐рдп рдзрд╛рдЧрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдХрднреА рднреА рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдФрд░ рд╡рд┐рдирдореНрд░ рд░рд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдЬреЛ рдХрд┐ .NET рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рджреЗрд╡ рдЕрднреА рднреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред NET рдФрд░ ASP .NET рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИрдВ рдФрд░ рдПрдХ рд░реЛрдорд╛рдВрдЪрдХ рдирдП рдмрд╣реБрдЖрдпрд╛рдореА рднрд╡рд┐рд╖реНрдп рдореЗрдВ MS рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ .NET рдорд╛рдирдХ рдФрд░ .NET рдХреЛрд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВрдЧреЗред рдЖрдЧреЗ рд░реЛрдорд╛рдВрдЪрдХ рд╕рдордп!

рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@davidfowl @DamianEdwards @shanselman рдзрдиреНрдпрд╡рд╛рдж ред
рдзрдиреНрдпрд╡рд╛рдж рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ

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

рд╕рднреА рдХреЛ рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛!
.NET рдкрд░ OSS рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдЦрдмрд░ !!

@davidfowl @DamianEdwards @shanselman рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╕рд╛рде рд╣реА, рдмреЗрд╣рддрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рд╣рдо .NET рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рдВрдЧрдарди рдХреЗ рднреАрддрд░ рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред рдореЗрд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ WinForms рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ ASP.NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рд╣рдорд╛рд░реЗ рд╕рднреА libs рдХреЛ .NET рдорд╛рдирдХ 2.0 рдкрд░ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдвреВрдВрдв рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░реЗ ASP.NET рдХреЛрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рд╛ рд╕рдХреЗрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВред

3.0 рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдлрд┐рд░ рдорд┐рд▓реЗрдВрдЧреЗ?

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

рддреЛ рдзрдиреНрдпрд╡рд╛рджред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдкреВрд░реНрдг netFx рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛ рдХреЛрдИ рдЧрд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдПрдХрдорд╛рддреНрд░ рдЧрд▓рддреА рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рдиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рдкреВрд░реНрдг netFx рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, ASP.Net Core рдХреЛ рдХрднреА рднреА рдкреВрд░реНрдг netFx рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдПрдХ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ .Net Core рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реЛред

ASP.Net Core рдХреЛ .Net Core рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ .Net Standard рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдкреВрд░реНрдг netFx рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

BTW, рд╢рд╛рдпрдж "ASP.Net Core" рдХреЛ "ASP for .Net Core" рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ "ASP.Net" рдХреЛ "ASP for .Net Framework" рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рд╕рдм рдХреБрдЫ рд╕рдордЭ рдореЗрдВ рдЖрдПрдЧрд╛ред рдФрд░ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "ASP.Net Standard" рдпрд╛ "ASP for .Net Standard" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

@davidfowl @DamianEdwards @shanselman рднреА рдирд┐рд░реНрдгрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЖрд╡рд╛рдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

.NET Framework рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рд╣рдо рдХрднреА рднреА рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗрдВрдЧреЗ рдЬрдм рддрдХ рдХрд┐ рдЬрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рд╣рдо рдирд┐рд░реНрднрд░ рд╣реИрдВ рд╡реЗ рднреА рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВред

рд╕рдореБрджрд╛рдп рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕рдЪреНрдЪреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рдЕрдЪреНрдЫреА рдЦрдмрд░! :) рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ Microsoft рдЕрдм рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп, рднрд░реЛрд╕реЗрдордВрдж рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣рдордореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдФрд░ рд╡реЗ рдЬрд▓реНрдж рд╣реА рдпрд╣ рдЧрд▓рддреА рджреЛрдмрд╛рд░рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

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

рддреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рдХрдореА рд╣реИред рдЯреАрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реА рдмрдпрд╛рдиред

@DamianEdwards @davidfowl : рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрдкрд╖реНрдЯрддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдкрд┐рдирдкреЙрдЗрдВрдЯ рдЯрд╛рдЙрди : рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВред

рдореИрдВ @MartinJohns рдХреЗ рд╕рд╛рде рд╣реВрдВред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рдХреЛ .NET Core @davidfowl рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рд▓рд╛рдн рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ?

рдореИрдВ рднреА рд╕рдВрджреЗрд╣рд╡рд╛рджреА рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред рдЗрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╡рд╛рд╣рди рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЭреБрдХ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕рдмреВрдд рд╣реИ рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдкреНрд░реЗрд╕ рд╡рд┐рдЬреНрдЮрдкреНрддрд┐/рдмреНрд▓реЙрдЧ рдореЗрдВ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╣рдо рд╕рднреА рдХреЛ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдХреЗ рдмреАрдЪ рдЕрд╕рдВрдЧрддрд┐ рднрдпрд╛рдирдХ рд╣реИред рдпрд╣рд╛рдВ рдЧреНрд░рд╛рд╣рдХ рднреВрдорд┐ рдореЗрдВ, рд╣рдо рдЕрдЧрд▓реЗ X рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд╕рд╛рде MS рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЪреМрдВрдХрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ рд╣реИред

рдЗрддрд┐рд╣рд╛рд╕ рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВ:

  • рдЧреБрдкрдЪреБрдк рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдЧрд▓рдд рдлреИрд╕рд▓рд╛ (рдмреБрд░рд╛)
  • рдЗрд╕реЗ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХрд╛ рдХреБрдЫ рдЕрдкреНрд░рд┐рдп рдкреНрд░рдпрд╛рд╕ (рдХреБрдЫ рдЕрдЪреНрдЫрд╛, рдХреБрдЫ рдмреБрд░рд╛)
  • рдЧрд▓рдд рдирд┐рд░реНрдгрдп рдХрд╛ рдЙрд▓рдЯрд╛ (рдЕрдЪреНрдЫрд╛)
  • рдкрд╣рд▓реЗ рддреАрди рдЪрд░рдгреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ (рднрдпрд╛рд╡рд╣)

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

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

рдЦрд░рд╛рдм рдирд┐рд░реНрдгрдп рдФрд░ рдЙрд▓рдЯрдлреЗрд░ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдУрдПрд╕рдПрд╕ рдХреЗ рд╕рд╛рде рдЖрдк рдЙрдиреНрд╣реЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдареАрдХ рд╣реИред рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдХрд╡рд░-рдЕрдк рдирд╣реАрдВ рд╣реИред

.NET MS рдХреЗ рд▓рд┐рдП Azure рдХреЛ рдмреЗрдЪрдиреЗ рдХрд╛ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдЬреЛ рдПрдХ рдРрд╕рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рджреЗрд╡ рдврд╛рдВрдЪреЗ рдХреЛ рдЪреБрдирдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕-рдирд┐рд░реНрдорд╛рдг рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?

рдореИрдВ рдпрд╣рд╛рдВ рджреВрд╕рд░рд╛ @MartinJohns рд╣реВрдВ: рд╡реЗ netstandard2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдпрдерд╛ рдЖрдХрд╛рд╢ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЕрдм рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред (рдмреЗрд╢рдХ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди @davidfowl рдФрд░ @DamianEdwards рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА)ред рд╡реЗ рдЕрдм рдпрд╣ рдХреИрд╕реЗ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЕрдм рдХреНрдпрд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣//рдмрд┐рд▓реНрдб рдФрд░ рд╕рднреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЗрддрдиреЗ рдХрдо рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдирд╣реАрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдХреНрдпрд╛ рд╣рдо рд╕рднреА рдХреЛ рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ Microsoft рдХрд░реНрдордЪрд╛рд░реА рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ рд╣реИ рдФрд░ рдмреИрдХрдЪреИрдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрдЫрдирд╛ рд╣реИ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред

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

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

рдЖрдЗрдП рдЯреАрдо рдХреЛ рдХреБрдЫ рд╕реБрд╕реНрддреА рджреЗрдВ рдФрд░ рдмрд┐рд▓реНрдб :рд╕реНрдорд╛рдЗрд▓ рдХреЗ рдмрд╛рдж рдЕрдЪреНрдЫреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг/рдкреЛрд╕реНрдЯрдореЙрд░реНрдЯрдо рдХреА рдЙрдореНрдореАрдж рдХрд░реЗрдВ:

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

рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдмрд┐рдВрджреБ рд╣реИред

@FransBouma рд╡реЗ netstandard2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреЙрд▓реАрдлрд╝рд┐рд▓, рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛ред рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рддрдм рддрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдХреБрдЫ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд▓рд╛рдЧреВ рди рд╣реЛрдВ, рдЬреИрд╕реЗ рдХрд┐ http2.

рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рд╣реИ рдЬреЛ рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред

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

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

@hallatore "рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рд╣реИ рдЬреЛ рд╣рд░ рдХреЛрдИ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред"
рдореИрдВ рддреБрдореНрд╣реЗрдВ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрд▓ рд╣рд░реЗ рд░рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА "рдореБрдЭреЗ" рд╡рд╣ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ ... рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ ...

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

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

@ рд╣реЙрд▓рдЯреЛрд░

рд╡реЗ netstandard2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкреЙрд▓реАрдлрд┐рд▓, рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛ред рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рддрдм рддрдХ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдХреБрдЫ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд▓рд╛рдЧреВ рди рд╣реЛрдВ, рдЬреИрд╕реЗ рдХрд┐ http2.

рдирд╛рд╣ред рдпрд╣ рд╕рд┐рд░реНрдл рдХреЛрдб рд╣реИ, рд╕реА #, рд▓рд┐рдЦрд┐рдд рдФрд░ рдлрд┐рд░ рдЪрд▓рд╛рдПрдВред рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╣рдВрд╕рдирд╛ рдкрдбрд╝рд╛ рдЬрдм рдореИрдВрдиреЗ рдЙрди рдЪреАрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдкрдврд╝реА рдЬреЛ рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ .net full рдкрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдереЗ рдФрд░ рдЗрд╕рдХреА рд╡рдЬрд╣ рд╕реЗ .net full рдХреЗ рд╕рд╛рде рдмреНрд░реЗрдХ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╕рд┐рд░реНрдл рд░рд╛рдЬрдиреАрддрд┐ рд╣реИред рд╣рдо рдмрд╛рд╣рд░реА рд▓реЛрдЧреЛрдВ рдХреЛ .NET рдкрд░ рдмрд╣реБрдд рддреЗрдЬрд╝ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЗрди рдПрдкреАрдЖрдИ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдмрдирд╛рдирд╛ рд╣реИред рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЙрдиреНрд╣реАрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рднреА рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рддреЛ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдмрд╕ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ ред рд▓реЗрдХрд┐рди рд╕рдЪ рдХрд╣реВрдВ рддреЛ рдореИрдВ рдмрд╣реБрдд рдмреВрдврд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд╕рд╛рдмреБрди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рд░реЗрдбрдордВрдб рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░рд╛рдЬрдиреАрддрд┐ рдХрд░рдиреЗ рджреЗрдВ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ (рд╣рдореЗрдВ!) рдХреЛ рдкреАрдбрд╝рд┐рдд рди рд╣реЛрдиреЗ рджреЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рднреА рдХрдИ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рдзреНрдпрд╛рди рд░рд╣реЗред

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

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

@FransBouma

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

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

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

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

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

рдпрд╣ рдХрдореЛрдмреЗрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╣реЛрдиреЗ рдХреА рдХреАрдордд рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ рдпрд╣ рдПрдХ рдЭреБрдВрдЭрд▓рд╛рд╣рдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред

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

@ рд╣реЙрд▓рдЯреЛрд░

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

рдЦреИрд░, рдлрд┐рд░ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рд╡реЗ рджреЛрдиреЛрдВ рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВ, рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдХреНрдпреЛрдВ рд╣реИред рдзреНрдпрд╛рди рд░рд╣реЗ: рд╡реЗ рдХреЗрд╡рд▓ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдХрд░ рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдХреЛрдб рдХреЛ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╢рд┐рдо рдмрдирд╛рдПрдВ рдЬреЛ .net рдХреЛрд░ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ .net рдкреВрд░реНрдг рдореЗрдВ рдзреАрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП nuget рд╕реЗ рдПрдХ lib)ред

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

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

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

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

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

рдЗрд╕рдХрд╛ рдПрдХ рджреЛ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рд╕рдорд╛рди рдЧрддрд┐ рд╕реЗ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдирд╡рд╛рдЪрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╣рдо рд╕рднреА рдХреЛ .net full рдкрд░ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдиреЛрд╡реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдорд░реНрдерди рдореЗрдВ рдмрд╛рдзрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ рдиреЛ-рдХреЙрдкреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдПрдХ рдмрдирд╛рдПрдВ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рд╣рд╛рдБ, рдЖрдк рдЕрдЧрд▓реЗ рджрд╕ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдХрд╢реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдмрджрд╕реВрд░рдд рд╣реИ, рдпрд╛ рдЖрдк рдЙрд╕ рд╡рд░реНрдЧ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕ рдкрд░ рдЕрдкрдирд╛ рддреЗрдЬрд╝ рд╕рд╛рдорд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рдЧрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ Win32 рдкрд░ C++/x64 рдЕрд╕реЗрдВрдмрд▓рд░ рдХрд╛ рдЙрдЪрд┐рдд рд╣рд┐рд╕реНрд╕рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрджрд┐ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╡рд╣рд╛рдВ рдХрд┐рддрдиреА рдмрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдХреЛрдИ рднреА рдЖрдВрдЦ рдкрд░ рджрд╛рдВрд╡ рдирд╣реАрдВ рд▓рдЧрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо .net рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ (рдЪрд╛рд░ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд░рдгреА)ред

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

рдорд╛рдиреЛ рдпрд╛ рди рдорд╛рдиреЛ, рдореИрдВ рднреА рдЙрдирдХреА рдмрд╛рдд рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ .NET рдлреБрд▓ рд╕реЗ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдореЗрд░рд╛ рдЕрдкрдирд╛ рд░рдирдЯрд╛рдЗрдо/рдПрдкреАрдЖрдИ 14 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдореИрдВ рднреА рдХрд▓ рдЗрд╕рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рд░рд╛рд╕реНрддрд╛ рддреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдпрд╣ рднреА рд╕реАрдЦрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд╕рд╛рдзрд╛рд░рдг рддрдереНрдп рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕рд╕реЗ рдЖрд╣рдд рд╣реЛрдВрдЧреЗ рдФрд░ рдпрд╣ рдЙрдирдХреЗ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдмреБрд░рд╛ рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо/рд░рдирдЯрд╛рдЗрдо/рдПрдкреАрдЖрдИ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж, рдЖрдк рдПрдХ рдРрд╕реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓ рд╕рдХрддреЗ: рдЖрдкрдХрд╛ рдПрдкреАрдЖрдИ рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рдкрддреНрдерд░ рдореЗрдВ рд╕реЗрдЯ рд╣реИред рдЖрдк рдЗрд╕рдореЗрдВ рд╕реЗ рдмрдХрд╡рд╛рд╕ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреЗред рдХреЛрдгреАрдп 1.x->2.x, рдЕрдЬрдЧрд░ 2.x->3.x, рдкрд░реНрдпрд╛рдкреНрдд рдЙрджрд╛рд╣рд░рдгред

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

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

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд▓рддреА рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ ASP.NET рдХреЛрд░ рд╕реЗ рдкреВрд░реНрдг .NET рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рдереАред рдЗрд╕реЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рдХреНрд▓реАрди рдмреНрд░реЗрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд▓рддреА рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ ASP.NET рдХреЛрд░ рд╕реЗ рдкреВрд░реНрдг .NET рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рдереАред

рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЙрдиреНрд╣реЗрдВ 2.0 рдЯреВрд▓рд┐рдВрдЧ рдФрд░ рдХреЙрдореНрдкреИрдЯ рд╢рд┐рдо рдХреА рдЬрд░реВрд░рдд рдереА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЗрд╕реЗ рджреВрд░ рд╕реЗ рд╕рдВрднрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕рд▓рд┐рдП IMO, рдпрд╣ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╡реЗ рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рдереЗред рджреЗрд░реА рдХрд░рдиреЗ рд╕реЗ рд▓реЛрдЧ рд░реВрдкрд╛рдВрддрд░рдг рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ Microsoft рдкрд░ рдЪрд┐рд▓реНрд▓рд╛рдиреЗ рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдХреИрд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рднреА рд╡реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде - рд▓реЛрдЧ рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рдХрдордмрдЦреНрдд рджрд┐рдорд╛рдЧ рдЦреЛ рджреЗрдВрдЧреЗред

рд╕рдЪ рдХрд╣реВрдВ, рддреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рдореБрдЭреЗ .NET рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреБрдЦреА рдХрд░рддрд╛ рд╣реИред

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

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

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

рдПрдХ рдЧрддрд┐рд░реЛрдз рд╡рд╛рд▓реЗ рдЕрддреАрдд рдореЗрдВ рд░рд╣рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рд╕рд┐рджреНрдз рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдирдлрд░рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирдлрд░рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗ (cfред рдХреЛрдгреАрдп 2+ рдФрд░ рдкрд╛рдпрдерди 3, рдЬреЛ рджреЛрдиреЛрдВ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

@NickCraver рдореИрдВ рдЖрдкрдХреЛ $ 100 рдХреА рд╢рд░реНрдд рд▓рдЧрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рднреА рд╡реЗ рдЕрдВрддрддрдГ рдЗрд╕ рдмреНрд░реЗрдХ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ 3.0, 2.2, рдпрд╛ 23.5 рд╣реЛ, рдореВрдВрдЧрдлрд▓реА рдЧреИрд▓рд░реА рд╕реЗ рдХрдкрдбрд╝реЛрдВ рдХреА рдЙрддрдиреА рд╣реА рд░реЛрдирд╛ рдФрд░ рдлрд╛рдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдЖрдЬ рд╣реИред

рдПрдХ рдЧрддрд┐рд░реЛрдз рд╡рд╛рд▓реЗ рдЕрддреАрдд рдореЗрдВ рд░рд╣рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рд╕рд┐рджреНрдз рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдирдлрд░рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдирдлрд░рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрдВрдЧреЗ (cfред рдХреЛрдгреАрдп 2+ рдФрд░ рдкрд╛рдпрдерди 3, рдЬреЛ рджреЛрдиреЛрдВ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

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

рдХреЛрдгреАрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣рд░ рдХреЛрдИ "рдУрд╣, рд╣рд╛рдБ, рдпрд╣ _much_ рдмреЗрд╣рддрд░ рд╣реИ" рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдкрд╛рдпрдерди рдЕрднреА рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╛рдпрдерди 3 рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрд▓рддреА рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ ASP.NET рдХреЛрд░ рд╕реЗ рдкреВрд░реНрдг .NET рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реА рдереАред рдЗрд╕реЗ рд╢реБрд░реВ рд╕реЗ рд╣реА рдХреНрд▓реАрди рдмреНрд░реЗрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред

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

  • рд╡рд┐рдВрдбреЛрдЬрд╝ рдиреЗ рдбреЙрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдпрд╛
  • 32 рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рдиреЗ 16 рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдбреЙрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдпрд╛
  • 64 рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ 32 рдмрд┐рдЯ рдФрд░ 64 рдмрд┐рдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рддрд╛ рд╣реИ
  • .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рд╕рднреА рд╕рдВрдмрдВрдзрд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЪрд▓рддреЗ рдереЗ

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

Win32/Win16 рдЗрдВрдЯрд░рдСрдк рд╕реНрдЯреЛрд░реА рдпрд╛ Win3 -> Win95 -> WinNT рдкрд░ рдЪрд▓ рд░рд╣реЗ рдбреЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдореЗрдВ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рдерд╛, рдЗрд╕ рдкрд░ рдкреАрдЫреЗ рдореБрдбрд╝рдХрд░ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдФрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╡рдпрд╕реНрдХреЛрдВ рдиреЗ рдЗрдорд╛рд░рдд рдЫреЛрдбрд╝ рджреА рдереАред

@markrendle

рдХреЛрдгреАрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣рд░ рдХреЛрдИ "рдУрд╣, рд╣рд╛рдБ, рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ" рдФрд░ рдкрд▓рд╛рдпрди рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

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

@markrendle

рдХреЛрдгреАрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣рд░ рдХреЛрдИ "рдУрд╣, рд╣рд╛рдБ, рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ" рдФрд░ рдкрд▓рд╛рдпрди рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдкрд╛рдпрдерди рдЕрднреА рд╕рдмрд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдФрд░ рдпрд╣ рдкрд╛рдпрдерди 3 рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрдерди 3 рдХреЛ 9 рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдпрд╣ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рдпрдерди рдмрди рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореЗрд░рд╛ рдореИрдХ рдирд╡реАрдирддрдо OSX рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ ... рдкрд╛рдпрдерди 2.7.12 рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рдореЗрд░рд╛ рдПрдирдПрдПрд╕, рд╡рд╣реАред

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

@рдмреНрд░реИрдбрд╡рд┐рд▓реНрд╕рди

рд╕рдЪ рдХрд╣реВрдВ, рддреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рдореБрдЭреЗ .NET рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреБрдЦреА рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдкреИрд░реЛрдВ рдкрд░ рдЙрдирдХреЗ рдЧрд▓рдд рдХрджрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджреЛрд╖ рдирд╣реАрдВ рджреЗрдВрдЧреЗ рдЬреЛ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдорд┐рд▓рд╛? .NET рдХреЛрд░ рдХреЛ рдПрдХ рдХреНрд▓реАрди рдмреНрд░реЗрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ред рддрдм рдпрд╣ рдирд╣реАрдВ рдерд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ ".NET рдХреЛрд░" рдирд╛рдо рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ ... .NET рдХрд╛ рдореВрд▓ рд╕рд╣реА рд╣реИ? рдФрд░ .NET рдХреНрдпрд╛ рд╣реИ? рд╡реИрд╕реЗ рдкрд┐рдЫрд▓реЗ 15 рд╕рд╛рд▓реЛрдВ рд╕реЗ рдпрд╣ .NET Full Framework рд░рд╣рд╛ рд╣реИред рдпрджрд┐ Microsoft рдПрдХ рд╕рд╛рдл-рд╕реБрдерд░рд╛ рдмреНрд░реЗрдХ рдЪрд╛рд╣рддрд╛ рдерд╛, рддреЛ рдЙрд╕реЗ рдЗрд╕ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдирд╛рдо рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рдмрдВрджреВрдХреЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рднреА рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдкреБрд░рд╛рдиреА рджреБрдирд┐рдпрд╛ рдФрд░ рдирдИ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдм рд╡реЗ рдЬрд┐рд╕ рдирд┐рд░реНрдгрдп рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ 3 рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдЧрд╛:

  1. рдЖрдк рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET MVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЖрдк ASP.NET Core 1.X рдХреЛ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж, рдЬрдм рддрдХ рдЖрдк .NET Core рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ, рддрдм рддрдХ рдЖрдк SOL рд╣реИрдВред
  2. рдЖрдк рдкреВрд░реЗ рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET Core 1.X рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ ASP.NET Core 2.0 рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ .NET Core рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  3. рдЖрдк .NET Core рдкрд░ ASP.NET Core рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ Microsoft рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ рдерд╛ рдФрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ ASP.NET Core 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, 1 рдФрд░ 2 рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдореМрдЬреВрджрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ ASP.NET Core 2.0 рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯ/рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдорд╛рд░реНрдЧ рдирд╣реАрдВ рдерд╛ред рд╕реНрдерд┐рддрд┐ 1 рдореЗрдВ рд▓реЛрдЧ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди 2 рдореЗрдВ рд╡реЗ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреНрд░реЛрдзрд┐рдд рд╣реЛрдВрдЧреЗред рд╕реНрдерд┐рддрд┐ 2 рдПрдХ рдЫреЛрдЯрд╛ рд╕рдореВрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ Microsoft рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рд░рдЦрд╛ рдЧрдпрд╛ рдХреЛрдИ рдЫреЛрдЯрд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯред рд╡реНрдпрд╡рд╕рд╛рдп/рд▓реЛрдЧреЛрдВ рдХреА рдЖрдЬреАрд╡рд┐рдХрд╛ рдЗрдиреНрд╣реАрдВ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдпрджрд┐ рд╡реЗ Microsoft рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдЧрдзреЗ рдкрд░ рджрд╛рдВрд╡ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдордВрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рднрд░реЛрд╕рд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдЙрди рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рдЬреЛ Microsoft рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рд╡рд┐рд░реЛрдзреА рдЗрд╕реЗ рдПрдХ рд╕рддрд░реНрдХ рдХрд╣рд╛рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

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

@MartinJohns рдореИрдВ рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд░рд╣рд╛ рдерд╛ред

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

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

ASP.NET Core рдкрд┐рдЫрд▓реЗ 15 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдордиреЗ рдЬреЛ рдХреБрдЫ рд╕реАрдЦрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ .NET рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП Microsoft рдХрд╛ рд╢реЙрдЯ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП .NET рд╡рд┐рдВрдбреЛрдЬ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реБрдП рдирдИ ASP.NET рдХреЛрд░ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реБрдП IE 9 рдХреА рддрд░рд╣ рдорд╣рдХ рдЖрддреА рд╣реИред .Net 4.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рдЙрд╕ OS рдХреЗ рд╕рдорд░реНрдерди рдЬреАрд╡рдирдХрд╛рд▓ рдореЗрдВ рдмрд╛рдБрдзрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд┐рдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗред

@glennsillis рдореБрдЭреЗ IE рдФрд░ Edge рдХреЗ рдмреАрдЪ рд╕рдорд╛рдирд╛рдВрддрд░ рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИред рдЖрдИрдИ рдЕрднреА рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рд╢рд┐рдк рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдЬ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреАред рдореИрдВ рдкрд╛рдЧрд▓ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдПрдЬ рдореЗрд░реЗ рдХрд╛рдо рдХреЗ рд╡реАрдкреАрдПрди рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ - рдпрд╣ рдареАрдХ рд╣реИ ... рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рдирд╛рдо рднреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдкреВрд░реНрд╡рдХрд▓реНрдкрд┐рдд рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ ActiveX рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП;)

@glennsills рдЖрдк рдХрд┐рди рдЧрд▓рддрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ?

@markrendle "рдХреЛрдгреАрдп рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣рд░ рдХреЛрдИ рдЪрд▓рд╛ рдЧрдпрд╛" рдУрд╣, рд╣рд╛рдБ, рдпрд╣ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ "рдФрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред"

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

рддреЛ, рдореИрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдореИрдВ рдПрдХ рдкреБрд░рд╛рдиреЗ рдПрдПрд╕рдкреА рд╡реЗрдм рдлреЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдиреЗрдЯ рд░реАрдореЛрдЯрд┐рдВрдЧ рдХреЛ рдПрдПрд╕рдкреА рдиреЗрдЯ рдХреЛрд░ рдПрдорд╡реАрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реА рдпреЛрдЬрдирд╛ .Net Remoting рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдереА рдЬрдм рддрдХ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЙрд╕ рдмрдХрд╡рд╛рд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ред рдЗрд╕рдХреА рдЖрд╡рд╛рдЬрд╝ рд╕реЗ, рдЕрдЧрд░ рдореИрдВрдиреЗ Asp .Net Core 2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рддреЛ рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛? рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдиреЗрдЯ рдХреЛрд░ 1.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рддреЛ рдореИрдВ рдХрд░рддрд╛?

@wbuck рдХрд▓ рддрдХ, рдХрд╣рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ ASP.NET Core 2.0 рдХреЗ рдПрдХрд▓ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдирд╣реАрдВ рдмрдирд╛ рдкрд╛рдПрдВрдЧреЗред рд╕рдВрднрд╡рдд: 2.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-2 рдореЗрдВ рд╡реЗ рдЗрд╕ рдХреНрд╖рдорддрд╛ рдХреЛ рд╡рд╛рдкрд╕ рд▓рд╛рдПрдВрдЧреЗред рддреЛ рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗ рд▓рд┐рдП рдЖрдк 1.1 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди 2.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-1 рдХреЛ рдирд╣реАрдВред

рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рднрд╡рд┐рд╖реНрдп рдХреНрдпрд╛ рд╣реИ - рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреВрд░реНрдг рдврд╛рдВрдЪрд╛ рдЕрдВрддрддрдГ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рд╕рдордпрд╕реАрдорд╛ рдХрд┐рд╕реА рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реИред

@ popcatalin81 рдареАрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ COM рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЧрд▓рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ 'рдЧрд▓рддрд┐рдпрд╛рдВ' рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдмрдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред AspNET рдХреЛ IIS рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред рдЙрд╕ рд╕рдордп рдпрд╣ рдареАрдХ рдерд╛ рд▓реЗрдХрд┐рди рд╕рдордп рдХреЗ рд╕рд╛рде рдЗрд╕рдиреЗ рд╕реНрдЯреИрдХ рдХреЛ рдЕрддрд┐-рдЬрдЯрд┐рд▓ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рднреА) рдмрдирд╛ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЕрдиреНрдп рд╡реЗрдм рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЪрд▓ рд░рд╣реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдПрдХ рджрд░реНрдж рдмрдирд╛ рджреЗрддрд╛ рд╣реИред ASP.NET рдореЗрдВ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рдХрдореА рдбрд┐рдлреЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдЬреИрд╕реА рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреНрд░реИрдЧ рдмрдирд╛рддреА рд╣реИред рдпрд╣ рдПрдХ 'рдЧрд▓рддреА' рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕рдордп рдХреЗ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред

@GiorgioG - рд╣рд╛рдБ рдпрд╣ рдореЗрд░реА рдмрд╛рдд рд╣реИред рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рдЖрдИрдИ рдФрд░ рдПрдЬ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ _choose_. рдЖрдкрдХреЛ рдПрдЬ рдореЗрдВ IE рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИрдВ рдФрд░ рдпрд╣ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рд╣реИ - IE рдФрд░ Edge рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдПрдХ рд╕рдлреЗрдж рдЧрд░реНрдо рдЧрдбрд╝рдмрдбрд╝ рд╣реЛрдЧреАред рд╕рд╛рде рд╣реА, IE рдХреЗ рд▓рд┐рдП рднрд╛рд╡реА рд╕рдорд░реНрдерди рдмрдЧ рдлрд┐рдХреНрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЕрдЧрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ 10 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рд╣реЛрддрд╛, рддреЛ рдПрдЬ рдЕрдм рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреНрд░реЛрдо рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реЛрддрд╛ред рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП .NET рдХреНрд▓рд╛рд╕рд┐рдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдмрдЧ рдлрд┐рдХреНрд╕ рдореЛрдб рдореЗрдВред Asp.Net Core рдХреЛ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЖрд╕рд╛рдиреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рд╣реИ?

@pantonis

рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рд╣реИ?

рдирд╣реАрдВ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИред рдЯреАрдо рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рджрд╕реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдмрдпрд╛рди рджрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред @DamianEdwards рдФрд░ @davidfowl рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдирд┐рд░реНрдгрдп рдерд╛ред рдЬреЗрдлрд░реА рдиреЗ ASP.NET рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рд▓рд┐рдЦрд╛ рдХрд┐ .NET рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ-рджреВрд╕рд░реЗ рдХрд╛ рдЬрд┐рдХреНрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╣рд╛рдп рджреЛрд╕реНрддреЛрдВ,

рдореИрдВ рдЗрд╕ рдмрд╛рд░ рдЗрд╢реНрдпреВ рдереНрд░реЗрдб рдкрд░ рдирд╣реАрдВ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢ рдФрд░ рджрд┐рд╢рд╛ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рд╕реЗ рдореИрдВ рдмрд╣реБрдд рд╕рдВрддреБрд╖реНрдЯ рд╣реВрдВред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдкрд╣рд▓реЗ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд╕рдордп рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕реЗ .NET рдорд╛рдирдХ 2.0 рдЪрд▓рд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЗрд░рд╛рджреЗ рдмрддрд╛рдирд╛ рднреА рдмрд╣реБрдд рдЖрд╢реНрд╡рд╕реНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

рддреЗрдЬреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рднреА рдЕрдиреБрддреНрдкрд╛рджрдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣рдорд╛рд░реА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдЯреАрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдзрдиреНрдпрд╡рд╛рджред

рдмрд╣реБрдд рд╣реА рд╕рд░рд╛рд╣рдиреАрдпред

@MartinJohns рдУрд╣ рдмреЙрдп .. рддреЛ рдХреМрди рд╕рд╣реА рд╣реИ?

@wbuck

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

рдореЗрд░реЗ рдПрдХ рднрджреНрджреЗ рд╕рд╣рдХрд░реНрдореА рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХрд╣рд╛ рдерд╛ 'рд╣рдореЗрдВ рдирдП рд╡рд┐рд░рд╛рд╕рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ'ред .NET рд░рд┐рдореЛрдЯрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ ASP.NET рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдмрд╕ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реИред

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

@pantonis рд╕рдмрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рд╣реИ

https://blogs.msdn.microsoft.com/webdev/2017/05/10/aspnet-2-preview-1/

рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдореБрджреНрджреЗ

ASP.NET Core 2.0 рдХрд╛ рдпрд╣ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ .NET Core 2.0 SDK рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп ASP.NET Core 2.0 рдХреЛ .NET рдорд╛рдирдХ 2.0 рдкрд░ рд╢рд┐рдк рдХрд░рдирд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди .NET Core, Mono рдФрд░ .NET Framework рдкрд░ рдЪрд▓ рд╕рдХреЗрдВред

рдЪреВрдВрдХрд┐ рдЯреАрдо рдмрд┐рд▓реНрдб рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ ASP.NET Core 2.0 рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ .NET рдорд╛рдирдХ 2.0 рд╕реЗ рдмрд╛рд╣рд░ рдереЗ, рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рдереЗред

рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рд╣рдордиреЗ рдкреНрд░реАрд╡реНрдпреВ 1 рд╕рдкреЛрд░реНрдЯ .NET Core рдХреЛ рд╣реА рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 1.x рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ ASP.NET Core 2 рдкреНрд░реАрд╡реНрдпреВ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝реЗрдЧрд╛ред

@benaadams рд▓реЗрдХрд┐рди рдЙрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рджрд┐рдП рдЧрдП рдмрдпрд╛рди рдХрд╛ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рдмрдпрд╛рдиреЛрдВ рд╕реЗ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИред рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡реЗ рд╕рд┐рд░реНрдл рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ "рдЦреБрд▓рд╛" рдерд╛ рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ "рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рд╕рдорд░реНрдерди" рдХреЛ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕ рдЕрдВрдХ рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреВрд░реЗ рд╕рдордп рдХреБрдЫ рдФрд░ рд╣реА рдмрддрд╛рдпрд╛ред рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдпрд╣рд╛рдБ рдЪрд░реНрдЪрд╛ рдХрд╛ рдХреЛрдИ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджрд┐рдпрд╛ред

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

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

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

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдХ рдмрдпрд╛рди рдЬрд╛рд░реА рдХрд░реЗрдЧрд╛ рдЬреЛ рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░реЗрдЧрд╛ред рдПрдордПрд╕ рдкрд░ рдЖрдУ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ !!!

@pantonis @MartinJohns

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

tl; dr: рдпрд╣ рдЖрдЧреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ: https://blogs.msdn.microsoft.com/webdev/2017/05/10/aspnet-2-preview-1/

@pantonis рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрдпрд╛рди рд╣реИред

рдмрдпрд╛рди?

@ рдкрд┐рдирдкреЙрдЗрдВрдЯ рдЯрд╛рдЙрди : рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдЖрдк рд╕реЛрдЪрддреЗ рд╣реИрдВред

рд╣реЛ рдЧрдпрд╛

@pantonis рдКрдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред

https://github.com/aspnet/Home/issues/2022#issuecomment -300774201

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдПрдХ рдмрдпрд╛рди рдЬрд╛рд░реА рдХрд░реЗрдЧрд╛ рдЬреЛ рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░реЗрдЧрд╛ред рдПрдордПрд╕ рдкрд░ рдЖрдУ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ !!!

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

рдЕрдм рддрдХ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ...

рдпрджрд┐ рд╣рд╛рд▓ рдХреА рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрд╛рдд рдХрд╛ рдЦрдВрдбрди рдХрд░рддреА рд╣реИ, рддреЛ рд╣рдореЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдШреЛрд╖рдгрд╛ рдХреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкрд╣рд▓реЗ рдХрд╣реА рдЧрдИ рдмрд╛рддреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ > рдЧрд┐рдЯрд╣рдм рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рдХрд╣реАрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдпрдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рд╕рдЪ рд░рд╣рд╛ рд╣реИред

@MaximRouller

рдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рддреЛ @benaadams рдХреЛ рд╢рд╛рдпрдж рдкрддрд╛ рд╣реЛрддрд╛ред
рдФрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ @davidfowl рд╕реЗ рднреА рдмрд╛рдд рдХреА рдереАред рдШреЛрд╖рдгрд╛ рд╕рд╣реА рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рдШреЛрд╖рдгрд╛: https://blogs.msdn.microsoft.com/webdev/2017/05/10/aspnet-2-preview-1/

@hallatore рдХреМрди рд╕реА рдШреЛрд╖рдгрд╛? рдЬреЗрдлрд░реА рдпрд╛ рджреВрд╕рд░реЗ рд╕реЗ ASP.NET рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░?

рдЬрд╛рдиреЗ рджреЛред

рдХрдерди рдпрд╣ рд╣реИ рдХрд┐ .NET Framework ASP.NET 2.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ; рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдЙрд╕рдХреЗ рдмрд╛рдж рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдЖрд╕рдорд╛рди рдЕрдм рдирд╣реАрдВ рдЧрд┐рд░ рд░рд╣рд╛ рд╣реИред

рддрдереНрдп рдХреЗ рдмрд╛рдж рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛; рд╕рдВрднрд╡рддрдГ рдЙрдиреНрд╣реЗрдВ рдХрдо рд╡реНрдпрд╕реНрддрддрд╛, рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдХрдо рд╕рд╛рдЭрд╛ рдХрд░рдирд╛, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдХрдо рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛, рдЗрд╕рд▓рд┐рдП рдмрд╣реБрдд рдмрд╛рдж рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛; рдЕрдзрд┐рдХ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде; рдЬрдм рджрд┐рд╢рд╛ рдмрджрд▓рдирд╛ рднреА рдХрдард┐рди рд╣реЛред

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

рдирдпрд╛ рдЕрдзрд┐рдХ рдЦреБрд▓рд╛ рдПрдордПрд╕; рдЬреЛ рд╕реАрдзреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рддрд╛ рд╣реИ, рд░реЛрдорд╛рдВрдЪрдХ рд╣реИред рдХреГрдкрдпрд╛ рдРрд╕рд╛ рди рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдиреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдЬрдирд╕рдВрдкрд░реНрдХ рдЕрдиреБрдореЛрджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирд╛ рд╣реИред рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред

рдереЛрдбрд╝рд╛ рдФрд░ рдкреЗрд╢реЗрд╡рд░ рдмрдиреЗрдВ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдПрдХ рд╕рд╛рде рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

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

рдЗрд╕ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЦрд░рд╛рдм рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереАред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рд╡рд╛рдкрд╕ рд▓рд┐рдП рдЧрдП рдирд┐рд░реНрдгрдп рдХреА рдЦрд░рд╛рдм рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереАред рдореИрдВ рдХрдо рдЬреБрдбрд╝рд╛рд╡ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдЬреБрдбрд╝рд╛рд╡ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред

@MartinJohns рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдШреЛрд╖рдгрд╛ рдореЗрдВ, рдЖрдк рдЕрднреА рдФрд░ IS рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдирд╣реАрдВ рдХрд┐ рдЖрдк рдЙрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪреЗред рд╕рдЪ рддреЛ рд╡рд╣реА рд╣реИ рдЬреЛ @benaadams рдиреЗ рдХрд╣рд╛ рдерд╛ред

^ рд▓реЗрдЯ рдЗрдЯ рдЧреЛ рдЬреАрдЖрдИрдПрдл рдпрд╣рд╛рдВ рдбрд╛рд▓реЗрдВ ^

@benaadams рд╕рд╣рдордд рд╣реБрдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реЛ рд╕рдХрддреА рд╣реИ рдХрд┐ рд╕рдордп рдХреЗ рднреАрддрд░ (рдЕрд░реНрдерд╛рдд//рдмрд┐рд▓реНрдб рдХреЗ рдмрд╛рдж) рдХреБрдЫ рдФрд░ рддрдХрдиреАрдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ @davidfowl рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИрдВ рдЬреЛ рдХрд┐ .net full рдкрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓/рдХрдард┐рди рдерд╛ рдФрд░ рд╡реЗ рдХреНрдпреЛрдВ рдХреНрд▓реАрди рдмреНрд░реЗрдХ рдХреА рдЬрд░реВрд░рдд рдереАред рдореБрдЭреЗ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рдХрд┐ рдпрд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ред IMHO рдпрд╣ рджреЛрдиреЛрдВ рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджреЗрдЧрд╛ рдХрд┐ рдЕрдм aspnetcore 2.0 рд╕реЗ рдХреНрдпрд╛ рдЙрдореНрдореАрдж рдХреА рдЬрд╛рдП рдФрд░ рдЕрдм рдЗрд╕ рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдпрд╣рд╛рдВ рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВ/рдХреЗрд╡рд▓ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ (рдФрд░ рдЙрдирдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ ...) рдФрд░ рдпрд╣рд╛рдВ рдРрд╕реЗ рд▓реЛрдЧ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рднреА рд╕рдВрджреЗрд╣ рд╣реИред

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

рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдШреЛрд╖рдгрд╛ рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдиреА рд╕рдордЭ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ

image

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдЖрд░реЗрдЦ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдХреНрдпрд╛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ASP.NET рдХреЛрд░ рдХрд╛ рднрд╡рд┐рд╖реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзреАрдореЗрдкрди рдХреЗ рдХрд╛рд░рдг .NET рдорд╛рдирдХ рдкрд░рдд рдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ ASP.NET рдХреЛрд░ рдХреЛ .NET рдХреЛрд░ рдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ? рдЗрд╕рдХрд╛ рдЬреЛ рднреА рднрд╡рд┐рд╖реНрдп рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛ рд╡рд╣ 2.0 рдпрд╛ 3.0 рдЖрджрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред

рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:-
.NET рдХреЛрд░ -> ASP.NET
рдпрд╛ рдпрд╣ рдЕрднреА рднреА .NET рдорд╛рдирдХ рд╣реЛрдЧрд╛ -> .NET рдХреЛрд░ -> ASP.NET рдХреЛрд░

@lilpug рдпрд╣ рдЙрд╕ рддрд░рд╣ рдХрд╛ рдЖрд░реЗрдЦ рд╣реИ рдЬреЛ рдореЗрд░реЗ (рдЕрд▓реЛрдХрдкреНрд░рд┐рдп ;-) рдмрд┐рдВрджреБ рдХреЛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЪреАрдЬреЛрдВ рдХреЛ рдмрджрддрд░ рдмрдирд╛рддрд╛ рд╣реИред ".NET рдорд╛рдирдХ" рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИ, рдФрд░ ASP.NET рдХреЛрд░ рдПрдХ рдмреЙрдХреНрд╕ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдПрдХ рдкреАрдпрд░ рд╣реИред

рдЖрд░реЗрдЦ рдореВрд▓ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рдп @willdean рдХреНрдпрд╛ рдЖрдк рдПрдХ рдмреЗрд╣рддрд░ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдЬреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ?

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

рдХреНрдпрд╛ рдЖрдк рдПрдХ рдмреЗрд╣рддрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬреЛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛ?

рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЖрд░реЗрдЦ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдЖрд░реЗрдЦ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЬрдм @shanselman (рдПрдХ рдШрд╛рдШ рд╕рдВрдЪрд╛рд░рдХ) рдпрд╣ рд╕рдм рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╡рд┐рдирдореНрд░рддрд╛ рд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рд╢рдмреНрджрд╛рд╡рд▓реА рд╕рдЯреАрдХ" рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдЖрд░реЗрдЦ рдкрд░ ".net рдорд╛рдирдХ" рдбрд╛рд▓рдиреЗ рдХреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕, рдЬрд┐рд╕ рдкрд░ рдХреЛрдб рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдмрд░реНрдмрд╛рдж рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдПрдкреАрдЖрдИ рдпреБрдХреНрддрд┐ рд╣реИ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдСрд░реНрдереЛрдЧреЛрдирд▓ рд╣реИред

ASP.NET рдЯреАрдо рдХреЛ ASP.NET рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рдмреЛрдЭ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдкреВрд░реЗ рд╕рдореНрдорд╛рди рдХреЗ рд╕рд╛рде рдХреЛрдгреАрдп рдирд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рдУрд░ рд╕реЗ рдмреЛрд▓рдиреЗ рдХреЗ рдмреЛрдЭ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рдпрд╣ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдЪ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рдПрдПрд╕рдкреА. рд╕рдВрдкреВрд░реНрдг рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдФрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдпрд╛ рдкрд░реЛрдХреНрд╖ рд░реВрдк рд╕реЗ Microsoft рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред

рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдПрдбреА рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИ: рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдкреГрдереНрд╡реА рдкрд░ рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреИрд╕реЗ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдмреЗрд╣рддрд░, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдбреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░реНрд╡-рдЗрдВрдЯрд░рдиреЗрдЯ рдпреБрдЧ рд╕реЗ рдПрдХ рдЕрд╡рд╢реЗрд╖ рд╣реИ рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЪрд░рдгрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ/рдбреАрдПрдирдПрдл рдПрдбреА рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ ASP.NET рдХреЛрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ (рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рд╡рд╛рджреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐ рдЗрд╕реЗ рд╢рд╛рдпрдж рдЧрд░реНрдорд┐рдпреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ ...), рд╕рдВрджреЗрд╢ рдпрд╣ рд╣реИ рдХрд┐ рддрдХрдиреАрдХ рдХреЛ Microsoft рджреНрд╡рд╛рд░рд╛ рд╣реА рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ Microsoft рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП AD рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдВ AD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рдЖрд╢реНрд╡рд╕реНрдд рд╣реВрдБ рдЬрдмрдХрд┐ Microsoft рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ AD рд╕рдорд░реНрдерди рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ? рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рд╕рдВрджреЗрд╢ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рднреА рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ: рдЕрдм рд╕реЗ, рдЕрдкрдиреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдбреА рдЬреЛрдбрд╝рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдореЗрд░рд╛ рдпрд╣реА рдорддрд▓рдм рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯреЗрдб рддрд░реАрдХреЗ рд╕реЗ рд╣реЛ рд░рд╣рд╛ рд╣реИред

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

рдПрдХ рдФрд░ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг: рд▓реЛрдХрдкреНрд░рд┐рдп IdentityServer4 рдиреЗ рдХрд╣рд╛ рдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ ASP.NET Core 1.1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрд░ 1.0 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдмрддрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкреБрд░рд╛рдиреЗ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд░рд╣рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЙрдирдХрд╛ рд╕рдВрд╕реНрдХрд░рдг... рдХреНрдпрд╛... 4 рдорд╣реАрдиреЗ рдкреБрд░рд╛рдирд╛ рд╣реЛ? рдпрд╣ рдЙрдирдХреЗ рдКрдкрд░ рд╣реИ? рдХрднреА рдирд╣реАрдБред рдпрд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реЛрдиреЗ рдкрд░ рд╣реА рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬреЛрдЦрд┐рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЦрдВрдбрд┐рдд рдХрд░рдирд╛ рд╣реИ рдФрд░, рдордзреНрдпрдо рдЕрд╡рдзрд┐ рдореЗрдВ, рдмрд╕ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рд╣реИред

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

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

рдХреНрдпрд╛ ASP.NET рдЯреАрдо рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ? рд╢рд╛рдпрджред рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЙрди рдирд┐рд░реНрдгрдпреЛрдВ рдХреЛ рдПрдХ "рд╕реБрдкрд░-рдЯреАрдо" рдХреЛ рджреЗрдВ рдЬреЛ рдкреВрд░реЗ рдЗрдХреЛ-рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд▓реЗрдЧреАред

рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЧрд┐рдЯрд╣рдм рдкрд░ рдЗрд╕рдХреА рдЪрд░реНрдЪрд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред

@willdean рдареАрдХ рд╣реИ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ "рдЖрд░реЗрдЦ рдореЗрдВ рдирд╣реАрдВ" рд░рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ :),

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ .NET рдорд╛рдирдХ 2.0 рдореЗрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ (.NET рдХреЛрд░) (рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдиреЗрдЯ рдорд╛рдирдХ -> .NET рдХреЛрд░ -> ASP.NET рдХреЛрд░ "рдпрджрд┐ рдирд╣реАрдВ рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ .NET Core рдЯреВрдЯ рд░рд╣рд╛ рд╣реИ рдФрд░ NET рдорд╛рдирдХ рдХреЗ рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@lilpug рдпрджрд┐ рдХреЛрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп .NET рдорд╛рдирдХ рд╣реИ рддреЛ рдЗрд╕реЗ рдКрдкрд░ рдХреА рдкрд░рдд рдореЗрдВ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдПрдХ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ .NET Framework, .NET Core, Xamarin, Mono, Unity рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

.NET рдорд╛рдирдХ рдЕрдзрд┐рдХрддрдо рд╕рдВрднрд╡ рдкрд╣реБрдВрдЪ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рддрдирд╛ рдХрдо рд╣реЛрдЧрд╛ рдЙрддрдирд╛ рдЕрдзрд┐рдХ рдкрд╣реБрдВрдЪ)ред

рдКрдкрд░ рдХреА рдкрд░рдд рдРрдк рдореЙрдбрд▓ рд╣реИрдВ; рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ exes/рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реИрдВред рд╡реЗ рдЕрдВрддрд┐рдо рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИрдВред

рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ .NET Framework exe рд╣реИ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓реЗрдЧрд╛ред

рдПрдХ Xamarin рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп; рдЖрдИрдУрдПрд╕, рдПрдВрдбреНрд░реЙрдЗрдб, рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдЪрд▓реЗрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред

рдПрдХ .NET рдХреЛрд░ рдПрдХреНрд╕рдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбреЙрдЯрдиреЗрдЯ рд▓реЙрдиреНрдЪрд░ donet my.dll рдХреЗ рд╕рд╛рде рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдореИрдХреЛрдЬрд╝, рдЯрд┐рдЬрд╝реЗрди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдЙрди рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ; рдФрд░ рдЖрдк рдПрдХ рд╣реА рдХреЛрдб рд╕реЗ рд╕рднреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдХреНрд╖рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп (рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд) рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдЕрдЧрд░ рдЖрдк рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ .NET рдорд╛рдирдХ 2.0 рдореЗрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ (.NET рдХреЛрд░) рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ред

рд╣рд╛рдВ; рдФрд░ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ рдерд╛ред рднрд▓реЗ рд╣реА ASP.NET Core рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ .NET Core рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реЛ, рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ .NET Core рдкрд░ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ; рдЖрдк рдЕрднреА рднреА ASP.NET рдХреЛрд░ рдореЗрдВ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЙрдард╛рдИ рдЧрдИ рдХрд┐рд╕реА рдмрд╛рдд рд╕реЗ рдпрд╣ рдХрднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реБрдЖред

@benaadams рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде ASP.NET рдХреЛрд░ рдореЗрдВ .NET рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗ рд╡рд╣ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рд╣реЛ рдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдпрджрд┐ рд╣рдо рдЙрдиреНрд╣реЗрдВ .NET рдорд╛рдирдХ рдкрд░ "рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ" рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4.6+ рдХреЗ рдмрдЬрд╛рдп рдФрд░ рдЕрдЧрд░ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрд╕реЗ рдЕрдиреНрдп рдкрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рдорд╛рдг рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдмрд╛рдд рдХрд▓ рдХреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред

https://channel9.msdn.com/Events/Build/2017/C9L18

@ рд▓рд┐рд▓рдкреБрдЧ

рдареАрдХ рд╣реИ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд░рдЦреЗрдВ "рдЖрд░реЗрдЦ рдореЗрдВ рдирд╣реАрдВ" :),

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдореИрдВ .NET рдорд╛рдирдХ 2.0 рдореЗрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ (.NET рдХреЛрд░) рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧрд╛ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ "рдиреЗрдЯ рдорд╛рдирдХ -> .NET рдХреЛрд░ -> ASP.NET рдХреЛрд░" рдпрджрд┐ рдирд╣реАрдВ рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ .NET рдХреЛрд░ рдЯреВрдЯ рд░рд╣рд╛ рд╣реИ рдФрд░ NET рдорд╛рдирдХ рдХреЗ рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

рддреЛ netstandard2.0 рдХреЗ рд╕рд╛рде рдПрдХ API рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдореЛрдВ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬреИрд╕реЗ .net core, .net full, xamarin, uwpред рддреЛ рдлрд┐рд░ рдЖрдк рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдорд╛рдирдХ рдПрдкреАрдЖрдИ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрди рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЪрд▓реЗрдЧрд╛ рдЬрд┐рдирдореЗрдВ рдЙрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

ASP.NET рдХреЛрд░ 2.0 netstandard2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ netstandard2.0 рдореЗрдВ рдХреЗрд╡рд▓ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ 2.0 рдЙрди рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓реЗрдЧрд╛, рдЬрд┐рдирдореЗрдВ netstandard2.0 рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред

(рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ) рдбреНрд░реИрдЯреНрд╕, @benaadams рдиреЗ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рд░рд╛рдпрд╛ред

@lilpug рдпрджрд┐ рдЖрдк .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдареАрдХ рд╣реИ рдФрд░ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рд╣реИрдВред

рдЪрд┐рдВрддрд╛ рдЙрди рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдИ рдЬрд╛ рд░рд╣реА рдереА рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╕рдордп .NET рдорд╛рдирдХ рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВ; рдЗрд╕рд▓рд┐рдП рдпреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп .NET Core 2.0 рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ

ASP.NET рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ .NET Core 2.0 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡реЗ рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддреЗ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╡реЗ рдЕрднреА рднреА .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдореИрдВ рд╕рднреА рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореЗрд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рдпрд╣ рдереА рдХрд┐ рдЗрд╕рдХрд╛ рдкрд╣рд▓рд╛ рд╕реВрддреНрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ: -

рдЖрдЬ рд╕реЗ рдкрд╣рд▓реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ ASP.NET Core 2.0 рдкреИрдХреЗрдЬреЛрдВ рдХреЛ netstandard1.* рдФрд░ net4* рдХреЗ рдмрдЬрд╛рдп netcoreapp2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдХрд┐ рд╣рдо рди рдХреЗрд╡рд▓ .NET рдкреВрд░реНрдг рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рдереЗ рдмрд▓реНрдХрд┐ .NET рдорд╛рдирдХ рдХреА рдЖрдзрд╛рд░ рдкрд░рдд рднреАред

рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдореИрдВ рдЗрд╕рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ

рдкреЛрд╕реНрдЯрдорд╛рд░реНрдЯрдо рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ:

рдЪреВрдВрдХрд┐ рдЯреАрдо рдмрд┐рд▓реНрдб рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реА рдереА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ ASP.NET Core 2.0 рдХреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ .NET рдорд╛рдирдХ 2.0 рд╕реЗ рдмрд╛рд╣рд░ рдереЗ, рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рдереЗред

рдЬрдм рдЖрдк netstandard1.3 рдФрд░ net46 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдЬреИрд╕реЗ Kestrel (рдЕрдиреНрдп рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рдорд╛рди рд▓рдХреНрд╖реНрдп рд╣реИрдВ)ред рдЖрдк ".NET рдорд╛рдирдХ 2.0 рд╕реЗ рдмрд╛рд╣рд░ рдХреЗ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ" рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?

AFAIK, netstandard2.0 рджреЛрдиреЛрдВ рдХрд╛ рд╕реБрдкрд░рд╕реЗрдЯ рд╣реИ netstandard1.3 _and_ net46 , рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХреИрд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреЗ рд╣реИрдВред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ред рд╡рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднреА рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдЧреА? рдареАрдХ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдРрд╕реЗ рдкреИрдХреЗрдЬ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд╕рднреА рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╕рд╛рде рд╣реА, рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЬрд▓реНрджреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА? рдХреНрдпрд╛ .NET Framework рдкрд░реАрдХреНрд╖рдг рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ?

@adrianlmm рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддред

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

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

@рдЦреЗрд▓рдВрдЧ

рд╢рд╛рдпрдж @benaadams рдХреЛ рдкрддрд╛ рд╣реЛред
рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдереЗ (рд╕рдВрднрд╡рддрдГ рдкрд╣рд▓реЗ рд╕реЗ рд╡рд┐рд▓рдп?) рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдХреЛрд░ рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@khellang рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреАрдЖрд░ рдФрд░ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдмрдпрд╛рди рд╕рд┐рд░реНрдл рд╕рд╛рджрд╛ рдЕрд╕рдВрдЧрдд рд╣реИрдВред

рдпрджрд┐ рддрдереНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ (рдЕрдВрддрд┐рдо рдорд┐рдирдЯ рдХреА рдкреНрд░рд╛рдкреНрддрд┐, рдЕрд╕реНрдерд╛рдпреА рдкрд░рд┐рд╡рд░реНрддрди) рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдереЗ, рддреЛ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ #if NET46 рдХреЛрдб рдХрд╛ рднрд╛рд░ рдХреНрдпреЛрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛрдЧрд╛?

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ #if NET46 рдХреЛрдб рдХрд╛ рднрд╛рд░ рдХреНрдпреЛрдВ рд╣рдЯрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛?

@willdean рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд▓рдХреНрд╖реНрдп рдврд╛рдВрдЪреЗ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╣рд┐рдд рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреА рдФрд░ рдХреЛрдб (рд╕рдВрдХрд▓рд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рд╕реЗ) ┬п\_(уГД)_/┬п

рдЗрд╕ рдмреАрдЪ рдХреБрдЫ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @migueldeicaza рдиреЗ w/ рд░рдЬрд┐рд╕реНрдЯрд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ ASP.NET Core 2 .Net Standard 2 (рдФрд░ рдЗрд╕рд▓рд┐рдП NetFx) рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдпреЛрдЬрдирд╛ рд╣реИ: https://www.theregister.co .uk/2017/05/11/microsoft_backtracks_we_are_going_to_support_net_framework_with_aspnet_core_20/

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рдордЭреМрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛, рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ рдпрд╛ рдЗрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЦрд░рд╛рдм рдХрд░реЗрдЧрд╛?

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

рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦреЛ рдЧрдпрд╛ рд╣реИ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдХреЛрдгреАрдп 2 рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЯрд┐рдкреНрдкрдгреА рдХреЛрдгреАрдп 2 рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдорд╣рд╛рди рд╕рд╛рджреГрд╢реНрдп рдерд╛ред

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

рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .NET рдврд╛рдВрдЪрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреНрд▓рд╛рдЙрдб-рджреЗрд╢реА, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди, рд▓рд╛рдЧрдд-рд╕рдВрд╡реЗрджрдирд╢реАрд▓, рд╡рд┐рддрд░рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╡рд╣ рджреБрдирд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП .NET Core рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред TechEmpower рд░рд╛рдЙрдВрдб 14 рдореЗрдВ ASP.NET Core 10рд╡реЗрдВ рд╕реЗ рдЧрд┐рд░рдХрд░ 15рд╡реЗрдВ рд╕реНрдерд╛рди рдкрд░ рдЖ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдирдИ рдЪреАрдЬреЗрдВ рд╕рд╛рдордиреЗ рдЖрдИ рд╣реИрдВред рдирд╣реАрдВ, рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рдЪреАрдЬ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рддреЛ рдХреГрдкрдпрд╛, рд╣рд░ рдХреЛрдИ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЗрд╕ рдард╣рд░рд╛рд╡ рдХрд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ .NET Core 2.0, NetStandard2, рдФрд░ рдореМрдЬреВрджрд╛ .NET рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрдврд╝реА рд╣реБрдИ рд╕рдВрдЧрддрддрд╛ (рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ netstandard рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдирд╛) рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдкреВрд░реНрдг .NET рдФрд░ рдХреЛрд░ рдкрд░ рдЙрддрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреА рд▓рд╛рдЦреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓реАрдЧреЗрд╕реА рдХреЛрдб рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рднрдЧрд╡рд╛рди рдЖрдкрдХреЛ ASP.NET 4.7 рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реЛрдВред

@tbprince

рдпрджрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдиреЗ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рд╕рд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ UTF8 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЛрдЧ рдЗрди рддрдХрдиреАрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ ...

рдЖрдкрдХреА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐рдкреВрд░реНрдг рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдКрдкрд░ рдХреА рд░реЗрдЦрд╛ IMHO рдмрд╣реБрдд рд╣реА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИред

@willdean рдЙрдореНрдореАрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдХрд┐ рдЬрдм Asp.Net Core рдЗрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рд╕рд╛рдорд╛рди рдЙрдЪрд┐рдд netstandard2x рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рд╣реЛрдЧрд╛ред

@FransBouma

рдереЛрдбрд╝рд╛ рд╡рд┐рдбрдВрдмрдирд╛рдкреВрд░реНрдг рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдордВрдЬреВрд░ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдмреЗрд╣рдж рдЧрдВрднреАрд░ рдерд╛ред

@stefanolson @alexwiese @ yaakov-h рдПрдХ рддрд░рдл XAML рдорд╛рдирдХ 1.0 рдХреЗ рд░реВрдк рдореЗрдВ рдмрд┐рд▓реНрдб https://github.com/microsoft/xaml-standard рдкрд░ рдЕрднреА рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

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

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

ASP.NET / NETFX рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЬреЛ рд╡рд┐рддреНрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рджрд┐рди рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рдорд┐рд▓рд┐рдпрди рдбреЙрд▓рд░ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕реНрд╡рд╛рд╕реНрдереНрдп рд╕реЗрд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛ рд░реЛрдЧрд┐рдпреЛрдВ рдХреЛ рдЙрдкрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╕реЗрд╡рд╛рдПрдВ рдЬреЛ рдКрд░реНрдЬрд╛ рдЙрддреНрдкрд╛рджрди рдФрд░ рдЦрдкрдд рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдкрд░рд┐рд╡рд╣рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИрдВред рджреБрдирд┐рдпрд╛ рдЕрдкрдиреЗ "рд╡рд┐рд░рд╛рд╕рдд" рдХреЛрдб рдХреЛ рдлреЗрдВрдХрдиреЗ рдФрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET рдЯреАрдо рдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╡реЗ MSDN рд▓рд╛рдЗрд╕реЗрдВрд╕, рдмрдбрд╝реЗ Azure рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдЕрдиреБрдмрдВрдз, рд╡рд┐рд╢рд╛рд▓ Office рд╕рджрд╕реНрдпрддрд╛рдПрдБ, рдФрд░ рдирд┐рд░реНрдорд╛рдг, рд╡рд┐рдХрд╛рд╕ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП рдирд┐рдзрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ SQL рд╕рд░реНрд╡рд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЦрд░реАрджрддреЗ рд╣реИрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗред

рдпреЗ рд▓реЛрдЧ рдзрд╛рдЧреЗ рдкрд░ рдХреНрдпрд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ "рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдЖрдХрд╛рд░ рдпрд╛ рд░реВрдк рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдкреНрд░рдмрдВрдзрди рдХреЛ рдЗрддрдиреЗ рдХрдо рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рдорд╛рдг рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдирд╣реАрдВ рдмреЗрдЪ рд╕рдХрддрд╛ред" рдЕрдиреБрд░реЛрдз-рдкреНрд░рддрд┐-рд╕реЗрдХрдВрдб рдереНрд░реВрдкреБрдЯ рдореЗрдВ 10x рд╕реБрдзрд╛рд░ рд╣реЛрдирд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдирд┐рд▓рдВрдмрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЯреНрд░реЗрдбрдСрдлрд╝ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдЪрд╛рдирдХ рд╕реЗ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рджреЛ рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдЬреЛ рд╡реЗ рдЖрдЬ рд╣реИрдВред @NickCraver рдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ SO рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рд░реА рдХреА рдЧрдИ рд╡рд░реНрддрдиреА рдХрд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдорд╛рдЗрдЧреНрд░реЗрд╢рди, рдХрд┐рдлрд╛рдпрддреА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╡рд╕рд╛рдп рдХреА рдЪрд▓ рд░рд╣реА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд▓реБрдбрд╛рдЗрдЯреНрд╕ рдпрд╛ рдЗрдбрд┐рдпрдЯреНрд╕ рдирд╣реАрдВ рд╣реИрдВ; рд╡реЗ рдЙрди рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рд╡рд┐рд╡рд╢ рд╣реИрдВ рдЬреЛ рдЙрдирдХреЗ рд╡реЗрддрди рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдЧреНрд░рд╛рд╣рдХ рдЙрдирдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЙрдиреНрд╣реЗрдВ рдЙрдХреНрдд рд╡реНрдпрд╡рд╕рд╛рдп рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрдмрд░рджрд╕реНрдд рдЙрд▓рдЯ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣реАрдиреЛрдВ рдпрд╛ рд╡рд░реНрд╖реЛрдВ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рджреЗрдВрдЧреЗред

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

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

.NET рдПрдХ рдмрдбрд╝рд╛ рддрдореНрдмреВ рд╣реИ рдФрд░ рдореИрдВ Microsoft рджреНрд╡рд╛рд░рд╛ .NET Core рдФрд░ .NET рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдмрдбрд╝рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХреА рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕рд░рд╛рд╣рдирд╛ рдФрд░ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐, NETFX (рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ) рдкрд░ рдЧреЛрдж рд▓реЗрдиреЗ рдХреЗ 15+ рд╡рд░реНрд╖реЛрдВ рдХреЛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрд▓реНрджрдмрд╛рдЬреА рдХреЗ рдмрд╛рдж рднреВрд▓ рдЬрд╛рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЙрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдПрдХ рд╕реНрд╡рдЪреНрдЫ, рдХреНрд░рдорд┐рдХ рдкреНрд░рд╡рд╛рд╕рди рдкрде рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдВ рдпрджрд┐ рдирд┐рдпрддрд┐ рдЕрдВрддрддрдГ рджреЛ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рдЕрдЧрд░ ASP.NET Core / .NET Core рдХреЛ .NET рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрдмрдВрдз рдХреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдмреНрд░рд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдмреНрд░рд╛рдВрдбреЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛, рд▓реЗрдХрд┐рди рд╡рд╣ рдШрдВрдЯреА рдирд╣реАрдВ рдЦреЛрд▓реА рдЬрд╛ рд╕рдХрддреА рдФрд░ рдЕрдм рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЬрд╛рдирд╛ рд╣реИред рддреЛ рдЗрд╕ рдмреАрдЪ, рдЖрдЗрдП Microsoft рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рднреА рдЬрд╡рд╛рдмрджреЗрд╣ рдард╣рд░рд╛рдПрдВред

@markrendle

рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг .NET рдврд╛рдВрдЪрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреНрд▓рд╛рдЙрдб-рджреЗрд╢реА, рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди, рд▓рд╛рдЧрдд-рд╕рдВрд╡реЗрджрдирд╢реАрд▓, рд╡рд┐рддрд░рд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред рдпрд╣реА рд╡рд╣ рджреБрдирд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП .NET Core рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╣рдореЗрд╢рд╛ рдмрджрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред TechEmpower рд░рд╛рдЙрдВрдб 14 рдореЗрдВ ASP.NET Core 10рд╡реЗрдВ рд╕реЗ рдЧрд┐рд░рдХрд░ 15рд╡реЗрдВ рд╕реНрдерд╛рди рдкрд░ рдЖ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдирдИ рдЪреАрдЬреЗрдВ рд╕рд╛рдордиреЗ рдЖрдИ рд╣реИрдВред рдирд╣реАрдВ, рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рдЪреАрдЬ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рддреЛ рдХреГрдкрдпрд╛, рд╣рд░ рдХреЛрдИ, рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдЗрд╕ рдард╣рд░рд╛рд╡ рдХрд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ .NET Core 2.0, NetStandard2, рдФрд░ рдореМрдЬреВрджрд╛ .NET рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрдврд╝реА рд╣реБрдИ рд╕рдВрдЧрддрддрд╛ (рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд░рдирд╛) рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдкреВрд░реНрдг .NET рдФрд░ рдХреЛрд░ рдкрд░ рдЙрддрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреА рд▓рд╛рдЦреЛрдВ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓реАрдЧреЗрд╕реА рдХреЛрдб рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рднрдЧрд╡рд╛рди рдЖрдкрдХреЛ ASP.NET 4.7 рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реЛрдВред

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

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

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

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

рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдореЗрд░рд╛ рдЖрд╡реЗрджрди рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╣реБрдВрдЪ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрд╛ рдирд╣реАрдВред

@tilliamsgsnetx рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖ рд░рд╣реА рд╣реИред рдЖрдЧреЗ рдХреА рдкрд╣рд▓реА 100 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрдЪреНрдЫреА рдкреЛрд╕реНрдЯ рд╣реИрдВред

@hallatore рд╣рд╛рдБ рдореИрдВ рд╕рд┐рд░реНрдл рд╕реНрдХреЙрдЯ рдХреА рдкреЛрд╕реНрдЯ рдкрдврд╝ рд░рд╣рд╛ рдерд╛ред рдЕрдЪреНрдЫрд╛ рд╕рд╛рдорд╛рди... Microsoft рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐рд╕реА Microsoft рдЙрддреНрдкрд╛рдж рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣реЗред

рдзрдиреНрдпрд╡рд╛рдж! :+1:

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

@adam3039 , рдпрджрд┐ рдЖрдк .NET Framework рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмреИрдареЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрд░ 1.x рдХреЗ рд╕рд╛рде AD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ System.DirectoryServices рдмрд╛рдж рдореЗрдВ рд╢рд╛рдпрдж рдЕрдЧрд▓реЗ .NET Core 2.x рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ?

@snickler рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! .NET Framework рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдирдпрд╛ рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рдореИрдВрдиреЗ рдХреЗрд╡рд▓ Azure AD рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рджреЗрдЦреЗред рдореИрдВ рдЖрдЧреЗ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛!

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд┐рдВрджреБ рдХрдЪреНрдЪреА рдЧрддрд┐ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдХрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордХрдХреНрд╖-рд╕реЗ-рд╡рд░реНрддрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рджреЗрдиреЗ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЛрд░ рдЖрдзреБрдирд┐рдХ рдкреИрдЯрд░реНрди рдФрд░ рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреЗрдЬреА рд╕реЗ рдирд╡рд╛рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдФрд░ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

@mythz рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@markrendle

рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд┐рдВрджреБ рдХрдЪреНрдЪреА рдЧрддрд┐ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдХрдо рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордХрдХреНрд╖-рд╕реЗ-рд╡рд░реНрддрдорд╛рди рдкреНрд░рджрд░реНрд╢рди рджреЗрдиреЗ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдореВрд▓реНрдп рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдпрд╛ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЗ рджрд╕рд╡реЗрдВ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЛрд░ рдЖрдзреБрдирд┐рдХ рдкреИрдЯрд░реНрди рдФрд░ рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреЗрдЬреА рд╕реЗ рдирд╡рд╛рдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдФрд░ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

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

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

@mythz рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдЬреЛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред

FYI рдХрд░реЗрдВ .NET Standard 2.0 рдФрд░ .NET Core 2.0 рдХреЛ https://channel9.msdn.com рдкрд░ рд▓рд╛рдЗрд╡ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ - 11:54:00 рдмрдЬреЗ рд╕реЗред рд╡реАрдбрд┐рдпреЛ рдХрд╛ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рднреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рджреВрд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕реНрдХреЙрдЯ рд╣рдВрдЯрд░:

рдпреЛрдЬрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 2.0 рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ

Github рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдХреНрдпрд╛ рд╣реИ, рдмреНрд▓реЙрдЧ (.NET рдмреНрд▓реЙрдЧ рдпрд╛ ASP.NET рдмреНрд▓реЙрдЧ) рд╡реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЯреАрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдЧреА рдХрд┐ рд╣рдо рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╣рдо рдЯреВрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕реА рддрд░рд╣ред

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

.NET рдХреЛрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рд╕рд╛рде-рд╕рд╛рде рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдпрд╣ рдирд╣реАрдВ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ .NET рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рд╣реИред рдХреЛрд░, рдпрджрд┐ рдЖрдк WinForms рдпрд╛ wpf рдпрд╛ WCF рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рддреЛ рд╡реЗ .NET Framework рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдХрд╛рд░реНрдпрднрд╛рд░ рд╣реИрдВ рдФрд░ рд╣рдо рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЙрди рдЪреАрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдорд╣рд╕реВрд╕ рди рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рд╣рд┐рд▓рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдЖрдк рд╕рд╛рде-рд╕рд╛рде рдкреВрд░реНрдг рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдКрдкрд░ рдЪреИрдирд▓ 9 рд╕реНрдЯреНрд░реАрдо рдкрд░ рджрд┐рдпрд╛:

  • ASP.NET Core 2.0 рджреЛрдиреЛрдВ netstandard2.0 рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рднреА netstandard2.0-рдЕрдиреБрд░реВрдк рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред
  • ASP.NET Core 2.0 .NET Framework рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

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

рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрдврд╝рд┐рдпрд╛ рдЪрд░реНрдЪрд╛ред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ 2 рд╕реЗрдВрдЯ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core Microsoft рдХреА рд╕рдмрд╕реЗ рдмрдбрд╝реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ .NET Core рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддреА рд╣реИред

рдЪреВрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ рдмрдирд╛рдиреЗ рдФрд░ .NET рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд╛рджреЛрдВ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб 2.0 рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ, рдпрд╣ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИ рдПрдореНрдмреЗрдбреЗрдб рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ Xamarin рдРрдк рдпрд╛ wpf рдРрдк рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдЬрдореАрди рд╕реЗ рдКрдкрд░ (рдЬреИрд╕реЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ, рд╕рд░реНрд╡рд░ рдЖрджрд┐) рд╕реЗ рдЗрддрдирд╛ рдЕрд▓рдЧ рд╣реИ ..

рд╡реЗ рдЬреЛ рддрд╕реНрд╡реАрд░ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЪреВрдВрдХрд┐ .NET рдХреЛрд░ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП .NET рдХреЗ рдЕрдиреНрдп рд╕реНрд╡рд╛рджреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ ASP.NET Core рдХреА рднрд╡рд┐рд╖реНрдп рдХреА рдорд╛рдВрдЧ рд╡рд╛рд▓реА API рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдФрд░ ASP рдХреЛ рдЯрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рддреЗрдЬреА рд╕реЗ рдмрджрд▓рддреЗ рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВред .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде .NET рдХреЛрд░ред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЛ рдмрдврд╝рддреЗ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗ .NET рдХреЛрд░ рдореЗрдВ рдХреМрди рд╕рд╛ рд╕реБрдкрд░ рдПрдбрд╡рд╛рдВрд╕реНрдб рдПрдкреАрдЖрдИ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдФрд░ рдЗрд╕реЗ рдЙрд╕реА рддрд░рд╣ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдзрдиреНрдпрд╡рд╛рдж

FYI рдХрд░реЗрдВ .NET Standard 2.0 рдФрд░ .NET Core 2.0 рдХреЛ https://channel9.msdn.com рдкрд░ рд▓рд╛рдЗрд╡ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ... рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

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

рдкрд╣рд▓реЗ рдХреЗ рдПрдХ рдореЗрдо рдХреЛ рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, "рдЖрдЧреЗ, рдУрд╢рд┐рдирд┐рдпрд╛!"

@markrendle

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

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

@mythz рд╣рд╛рдБ рдпрд╣ рдерд╛ред

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

@stefanolson рдЖрдкрдиреЗ рдореБрдЭреЗ рдЧрд▓рдд рд╕рдордЭрд╛, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ред рдпрджрд┐ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ .NET Core рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ ASP.NET Core рдХрднреА рднреА рдЙрд╕ рдмрд┐рдВрджреБ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рдЖрдкрдХрд╛ рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕реЗ C++/CLI рдЪреАрдЬ) рдФрд░ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рд░рд┐рдлрд▓реЗрдХреНрдЯрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рд╕рд┐рдХ ASP рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВ .NET MVC/рд╡реЗрдмрдПрдкреАрдЖрдИ рдпрд╛ рд╡реЗрдмрдлреЙрд░реНрдоред

(рд╕рдВрдпреЛрдЧ рд╕реЗ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рдЕрдВрддрддрдГ рд╡реЗрдмрдлреЙрд░реНрдо рдХреЗрд░рдлрдлрд▓ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рдЧрдП рд╣реИрдВред рд╡реЗ рд▓реЛрдЧ рдмрд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред)

@markrendle рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛

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

@stefanolson рд╢рд╛рдпрдж рдЖрдкрдХреЗ рдФрд░ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП WebForms рд╕реЗ MVC рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдЖрд╕рд╛рди рдерд╛, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрддрдирд╛ рд╣реА рджреБрд░реНрдЧрдо рдерд╛ рдЬрд┐рддрдирд╛ рдХрд┐ рдкреВрд░реНрдг .NET рд╕реЗ Core рдЕрдм рд╣реИред рдФрд░ рдореЗрд░реА рдмрд╛рдд рдЕрднреА рднреА рдХрд╛рдпрдо рд╣реИ: рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ ASP.NET Core рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рди рдХрд░реЗрдВред

@stefanolson @markrendle рдПрдХ рд╡реЗрдмрдлреЙрд░реНрдо рдХреЗ рдмреАрдЪ рдореЗрдВ -> MVC5 рд╕рдВрдХреНрд░рдордг рдЕрднреА, рдпрд╣ MVC/MVC2 рдХреЗ рд▓рд┐рдП рджреБрд░реНрдЧрдо рдерд╛, MVC5 рдореЗрдВ рдХрдоред рд╣рдо рдПрдХ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ASP .NET Core 3 рдпрд╛ рдЙрд╕рд╕реЗ рдЖрдЧреЗ рдПрдХ рдЖрд╕рд╛рди рд╕рдВрдХреНрд░рдордг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

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

рдпрджрд┐ рд╡рд╣ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рддрд╛рдмреВрдд рдореЗрдВ рдПрдХ рдХреАрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ ~Python 2.x~ .NET Framework 4.x рдкрд░ рдЕрдЯрдХреЗ рд░рд╣реЗрдВрдЧреЗред

рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреА рддрд░рд╣, рд╕рд╣реА рдкреНрд░рддрд┐рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
рдХрдард┐рди рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ HttpContext.Current... рдЕрднреА рддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреА рдЪреЗрддрд╛рд╡рдиреА рджреА рд╣реИ... рдпрд╣ рд╣реИ
рдЖрдЬ рднреА рд▓рд┐рдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рддрдм рд╕реЗ рдЙрди рдРрдкреНрд╕ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛
рдЙрдирдХреЗ рдкрд╛рд╕ рд╕рдВрджрд░реНрдн рдореВрд▓реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд╣реЛрдВрдЧреЗред

рд╡реЗрдмрдлреЙрд░реНрдо рдХреВрд▓рдПрдб рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░рд╛ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред рдШрдЯрдирд╛рдХреНрд░рдо, рдЕрджреНрдпрддрди рдкреИрдирд▓,
рдЖрджрд┐ ... рдЖрдк рдЕрднреА рднреА jQuery рдХреЗ рд╕рд╛рде AJAX рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ASMX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХрдард┐рди рдерд╛ рд▓реЗрдХрд┐рди
рдпрд╣ рдХрд░рдиреЗ рдХрд╛ "рд╕рд╣реА" рддрд░реАрдХрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдРрдкреНрд╕ рд╕реЗ рдЕрджрд▓рд╛-рдмрджрд▓реА рдХрд░ рд░рд╣реЗ рдереЗ
рдЖрд╕рд╛рди рдЬрдм рдПрдорд╡реАрд╕реА рд╕рд╛рде рдЖрдпрд╛ред

рдРрд╕рд╛ рд╣реА рдХреБрдЫ рдЕрднреА рд╣реЛ рд░рд╣рд╛ рд╣реИред рдкреИрдЯрд░реНрди рдмрджрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рд╣реИ
рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ "рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕" рднреА рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИред рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╕рднреА рдХреЛрдб
рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ (рдЕрдирд╛рдЬ рдХреЗ рдЦрд┐рд▓рд╛рдл) рд╕реЗ рдкрд╣рд▓реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрдирд╛ рд╣реЛрдЧрд╛
рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдПред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЖрд╕рд╛рди рд╕рдВрдХреНрд░рдордг рдпреЛрдЬрдирд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реИ
"рдЕрдирд╛рдЬ рдХреЗ рдЦрд┐рд▓рд╛рдл" рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВред рдореИрдВ рдЗрд╕рдореЗрдВ рдЧреИрд░-рдкреЛрд░реНрдЯреЗрдб API рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛/рд░рд╣реА рд╣реВрдВ
рд╡рд╣рд╛рдБ рдмреЗрд╢рдХред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рд╣реИред

рд╢реБрдХреНрд░, рдордИ 12, 2017 рдЕрдкрд░рд╛рд╣реНрди 3:29 рдмрдЬреЗ рдПрд░реЗрди рдмреНрд▓реЛрдВрдбрд╛рд╣рд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@stefanolson https://github.com/stefanolson @markrendle
рд╡реЗрдмрдлреЙрд░реНрдо рдХреЗ рдмреАрдЪ рдореЗрдВ https://github.com/markrendle -> MVC5
рд╕рдВрдХреНрд░рдордг рдЕрднреА, рдпрд╣ рдПрдорд╡реАрд╕реА/рдПрдорд╡реАрд╕реА 2 рдХреЗ рд▓рд┐рдП рдЕрд╕рдВрднрд╡ рдерд╛, рдПрдорд╡реАрд╕реА 5 рдореЗрдВ рдХрдоред
рд╣рдо рдРрд╕реА рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ ASP .NET Core 3 рдпрд╛ рдЙрд╕рд╕реЗ рдЖрдЧреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ рдЖрд╕рд╛рди рд╕рдВрдХреНрд░рдордгред

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

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

рдпрджрд┐ рд╡рд╣ рд▓рдХреНрд╖реНрдп рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдХреБрдЫ рднреА рд╣реИ
рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рддрд╛рдмреВрдд рдореЗрдВ рдПрдХ рдХреАрд▓ рдмрди рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдкрд╛рдпрдерди рдкрд░ рдлрдВрд╕ рдЬрд╛рдПрдВрдЧреЗ
2.x .NET Framework 4.x рд▓рдВрдмреЗ рд╕рдордп рддрдХред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/aspnet/Home/issues/2022#issuecomment-301165679 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAMx6CoEdzs_Ys5a8W7Ri7lwfBqcIGUdks5r5LMIgaJpZM4NReOn
.

рд╡рд╛рд╣, рдпрд╣ рдзрд╛рдЧрд╛ рдХреНрдпрд╛ рд░реЛрд▓рд░ рдХреЛрд╕реНрдЯрд░ рдпрд╛рддреНрд░рд╛ рд░рд╣рд╛ рд╣реИред

  1. рдореБрдЭреЗ рд░рд╛рд╣рдд рдорд┐рд▓реА рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЬреАрдердм рдкрд░ .net рд╕рдореБрджрд╛рдп рдХреЛ рд╕реБрди рд░рд╣рд╛ рд╣реИ
  2. рдореИрдВ рдЪрдХрд┐рдд рдФрд░ рдкреНрд░рд╕рдиреНрди рд╣реВрдВ рдХрд┐ рдпрд╣ рдЪрд░реНрдЪрд╛, рднрд╛рд╡реБрдХ рд╣реЛрддреЗ рд╣реБрдП рднреА, рд▓рдЧрднрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреЗрд╢реЗрд╡рд░ рд░рд╣реА рд╣реИ
  3. рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдВрдд рдореЗрдВ рд╕рдордЭ рдЧрдпрд╛ рдХрд┐ .net рдорд╛рдирдХ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ (!!)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╕рд╛рдорд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдЯрд╛рдП рдЧрдП рд╢реЗрдЦрд╝реА рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред рдЕрдВрдд рдореЗрдВ рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рддрдХ рдкрдврд╝реЗрдВ - рд╡реАрдбрд┐рдпреЛ рдиреЗ рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░ рджрд┐рдпрд╛ред

@poter134 рдПрд╣ ред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдзрд╛рдЧрд╛ рдкрдврд╝рд╛? рдЯреАрдХ рд╣реИ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛; рдпрд╣ рд▓рдВрдмрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА... рд╕рдм рдХреБрдЫ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рджреБрд░реНрдШрдЯрдирд╛ рдереАред ASP.NET Core рдХрд╛ рдЕрдЧрд▓рд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди (рдФрд░ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг) .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ .NET Frameworkред

@PinpointTownes рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдиреЛрдЯрд┐рд╕ (рд╢реАрд░реНрд╖ рдкрд░) рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдИ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд▓рд╛ рд╣реИ?

рдореИрдВ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдФрд░ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рднреА рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╣ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдХреНрд╖рдорд╛ рдпрд╛рдЪрдирд╛ - рдмрд╕ рд╡реАрдбрд┐рдпреЛ рдкрд░ рдЖ рдЧрдпрд╛! рдХрд┐ рдПрдХ рд░рд╛рд╣рдд рдХреА рдмрд╛рдд рд╣реИред рд╢рд╛рдпрдж рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ 75% рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░рд╛рд╢ рд╣реИрдВред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб рд╡реАрдбрд┐рдпреЛ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рд╡реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ https://channel9.msdn.com/Events/Build/2017/C9L18

@PinpointTownes рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рдиреЛрдЯрд┐рд╕ (рд╢реАрд░реНрд╖ рдкрд░) рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХреЛрдИ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд▓рд╛ рд╣реИ?

рд╣реЛ рдЧрдпрд╛: +1:

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

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

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

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

рдЖрдк рдПрдордПрд╕ рд▓реЛрдЧреЛрдВ рдиреЗ рдХрднреА рд╕рдмрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕реАрдЦрд╛? рдмреНрд░реЗрдХ-рдПрд╡рд░реАрдерд┐рдВрдЧ-рдЕрдкрдбреЗрдЯ .NET рдХреЛрд░ рдХреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдФрд░ рдмрд╛рдЬрд╛рд░ рдХреЛ рдЦрддреНрдо рдХрд░ рджреЗрдЧрд╛, рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ WP 7.x рд╕реЗ 8 рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

ASP.NET 4 рд╕реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдПрдХ рдХрдард┐рди рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рджрд░реНрджрдирд╛рдХ рдкреНрд░рдЧрддрд┐ рд╣реИ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдФрд░ рдХрдард┐рди рди рдмрдирд╛рдПрдВред

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

рддреЛ рдпрд╣ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдпрд╛рддреНрд░рд┐рдпреЛрдВ рдХреА рддрд░рд╣ рд╣реИ рдЬреЛ рдЕрд░реНрдерд╡реНрдпрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рд░рд╣рд╛ рд╣реИред рдареАрдХред

@markrendle Microsoft рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░рд╛рдЬрд╕реНрд╡ рдореЗрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рджреЛ рдмрд┐рд▓рд┐рдпрди рдбреЙрд▓рд░ рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдХрдорд╛рдИ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡реЗ рдЕрдкрдиреА рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЬреЛрдЦрд┐рдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрджрд┐рд╡рд╕ рдХреЗ рд▓рд┐рдП $400 рдорд┐рд▓рд┐рдпрди рдХреЗ рд▓рд┐рдП рдореИрдВ рдкреВрд░реА .NET рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЯреЗрдХ рдЯреЛрдореИрдЯреЛ рдирд╛рдордХ рдХрдВрдкрдиреА рдХреЛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕ рдХрд┐рдП рдЧрдП рдмреЗрд▓реНрдЬрд┐рдпрдо рдореЗрдВ рдПрдХ рдЕрддрд┐рднрд╛рд░рд┐рдд рд╕рд░реНрд╡рд░ рд╕реЗ рджреИрдирд┐рдХ рдмрд┐рд▓реНрдб рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреМрд░рд╛рдгрд┐рдХ рд░реВрдк рд╕реЗ рднрджреНрджреЗ NuGet рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдЬрд┐рд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 78k DLL рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 200MB рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред https://github.com/NuGet/Home/issues/4448

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

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

1990 рдХреЗ рджрд╢рдХ рдХреЗ рдХрд┐рд╕реА рднреА рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдм рдлреЛрд░рдо рдХреА рддрд░рд╣, рддрдирд╛рд╡рдЧреНрд░рд╕реНрдд рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреВрд░реНрд╡рд╛рдиреБрдореЗрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрддреЗ рд╣реИрдВред рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдкреБрд░рд╛рдиреЗ рдзрд╛рдЧреЛрдВ рд╕реЗ рд░рд╣рд╕реНрдпрдордп рдврдВрдЧ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред рдФрд░ рд╡рд░рд┐рд╖реНрда рдкреНрд░рдмрдВрдзрди рд╕рдореБрджрд╛рдп рдХреЗ рдЖрдХреНрд░реЛрд╢ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

https://github.com/dotnet/cli/issues/5328
https://github.com/dotnet/corefx/issues/17522

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

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдВрддрд░рд┐рдХ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЛ рдИрдореЗрд▓ рдХрд░рдХреЗ рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ 1992 рд╕реЗ рд╣реИред рдФрд░ рдкрд╣рд▓рд╛ рдЙрддреНрддрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд┐рдЯрд╣рдм рд╕рд╛рдорд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░реЗрд▓ рд╕реЗ рдХреИрд╕реЗ рджреВрд░ рд╣реИред

@PureKrome рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдорд╛рдЙрд╕ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

Mouse Wheels is the new Mouse Balls

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

FYI рдХрд░реЗрдВ: 2.0.0-preview2 рдФрд░ .NET Framework рдкрд░ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА; https://github.com/aspnet/Announcements/issues/243

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

@oldrev

рдЖрдк рдПрдордПрд╕ рд▓реЛрдЧреЛрдВ рдиреЗ рдХрднреА рд╕рдмрдХ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╕реАрдЦрд╛? рдмреНрд░реЗрдХ-рдПрд╡рд░реАрдерд┐рдВрдЧ-рдЕрдкрдбреЗрдЯ .NET рдХреЛрд░ рдХреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдФрд░ рдмрд╛рдЬрд╛рд░ рдХреЛ рдЦрддреНрдо рдХрд░ рджреЗрдЧрд╛, рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ WP 7.x рд╕реЗ 8 рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рд╢рд╛рдпрдж рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд┐рдпрд╛ред рдЕрдиреНрдпрдерд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗред

ASP.NET 4 рд╕реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдПрдХ рдХрдард┐рди рдФрд░ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рджрд░реНрджрдирд╛рдХ рдкреНрд░рдЧрддрд┐ рд╣реИ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдФрд░ рдХрдард┐рди рди рдмрдирд╛рдПрдВред

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдкреНрд░рдЧрддрд┐ рдХрдард┐рди, рджрд░реНрджрдирд╛рдХ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдордПрд╕ рд▓реЛрдЧ рднреА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ (рдХреНрдпрд╛ рд╡реЗ рдкреНрд░рдЧрддрд┐ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдВрдЧреЗ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ)

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

рдПрдордПрд╕ рдЕрдкрдиреА рдЧрд▓рддреА рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ Microsoft.Data.Sqlite рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреВрд░реНрдг .NET рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ https://github.com/aspnet/Microsoft.Data.Sqlite/pull/370

рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЪрд░реНрдЪрд╛ рдХреЗ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдШреЛрд╖рдгрд╛ рдХреЗред

@alexvaluyskiy рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рд╡реЗ net451 рдХреЛ netstandard2.0 рд╕реЗ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ .NET рд╕рдорд░реНрдерди рдирд╣реАрдВ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред netstandard2.0 .NET 4.6.1 рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред

@MartinJohns TFS рдХрд╛ рд╣рд░ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдмрдбрд╝рд╛ рдмреНрд░реЗрдХрд┐рдВрдЧ рдмрджрд▓рд╛рд╡ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдШреЛрд╖рдгрд╛ рдФрд░ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред
.NET 4.5.2 рдЕрднреА рднреА MS рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдКрдкрд░ Microsoft.Data.Sqlite рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВ MS рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ net4.6.1 рдпрд╛ netstandard2.0 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдЕрдкреЗрдХреНрд╖рд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ .NET рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред рдпрд╣ рд░рдЦрд░рдЦрд╛рд╡ рд▓рд╛рдЧрдд рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ .NET рдорд╛рдирдХ 2.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рди рдХрд┐ рдПрдХрд╛рдзрд┐рдХ рд▓рдХреНрд╖реНрдп рд░рдирдЯрд╛рдЗрдо рдХрд╛ред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ .NET рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВ - рд╡реЗ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рд╣рд╛рд▓ рд╣реА рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдпрд╣ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ Microsoft рдХреЛ .NET 1.0 рддрдХ рд╕рднреА рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╣реИ?

рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХрд┐рд╕реА рди рдХрд┐рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдиреЗрдЯрд╕реНрдЯреИрдВрдбрд░реНрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ

@irwiss рд╡рд╣ рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣реАрдВ рднреА рдпрд╣ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджрд┐рдпрд╛ рдХрд┐ рд╕рдВрдХреБрд▓ рдХреЛ .NET 1.0 рддрдХ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ "рдЕрднреА рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИ", рдЬреЛ рд╕рд╣реА рд╣реИред .NET 4.5.2 рдЕрднреА рднреА 3 рдордИ 2017 рддрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬреАрд╡рдирдХрд╛рд▓ рдХрд╛ рдХреЛрдИ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЕрдВрдд рдирд╣реАрдВ рд╣реИ (https://support.microsoft.com/en-us/help/17455/lifecycle-faq-net-framework)ред

рд╕рдорд░реНрдерд┐рдд .NET рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдХреЛрдИ рджреВрд░ рдХреА рдХреМрдбрд╝реА рдирд╣реАрдВ рд╣реИред

@MartinJohns рди рддреЛ рдкрд╛рд░реНрдЯреА рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛ рд░рд╣реА рд╣реИ - sqlite рдореБрджреНрджреЗ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓рд┐рдВрдХ рдПрдХ рдЭреВрдареЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рдФрд░ рдЫреЗрдж рдХреЛ рдлрд┐рд░ рд╕реЗ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ (рдПрдХ рдЫреЛрдЯреА рд╕реА 4.5.2 рдмрдирд╛рдо 4.6.1 рдмрд╣рд╕ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдЧрд╛) рдереЛрдбрд╝рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЦреБрджрд╛рдИ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдерд╛ред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдХрдИ рдбреЙрдЯрдиреЗрдЯ рдпрд╣ рдФрд░ рд╡рд╣ рдХреНрдпреЛрдВ рд╣реИред рдпреЗ рд╡рд╛рдХрдИ рдкрд╛рдЧрд▓ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рдЯреНрд░реИрдХ рдХреИрд╕реЗ рд╣реИ?

рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдкрд░ рдХреЛрдИ рдЙрдЪрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВред

рдкрд╣рд▓реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреАрдПрд▓рдПрд▓-рдирд░рдХ рдерд╛, рдФрд░ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкреИрдХреЗрдЬ-рдирд░рдХ рд╣реИ ... рдФрд░ рдЪреАрдЬреЗрдВ рдмрджрд▓рддреА рд╣реИрдВ ...;)

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдХреЗ рдмрдЬрд╛рдп рдЪреИрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИред

@MaximRouiller рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЙрд╕ рдирд░рдХ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдореИрдВ рдХрд▓ рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдмрд╕ netcoreapp1.1 рд╕реЗ netcoreapp2.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрджрд┐ рдЖрдк рдПрдХ рд▓рд┐рдВрдХ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рджреЗрдЦреЗрдВред

рдзрдиреНрдпрд╡рд╛рдж

@smithaitufe рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╛ рдСрдлрдЯреЙрдкрд┐рдХ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

@PinpointTownes @Eilon

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛? рд╣рд░ рдХреЛрдИ рдЬреЛ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реИ, рдирдИ рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕реВрдЪрдирд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП 100+ рдИрдореЗрд▓ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╡реЗ рдПрдХ рдирдП рдереНрд░реЗрдб рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@MaximRouiller рдореИрдВ рдЗрд╕рд╕реЗ рдЧреБрдЬрд░рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реБрдЖред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЙрд╕ рдмреНрд▓реЙрдЧ рдореЗрдВ рдкрдврд╝рд╛ рдерд╛?

*
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрдкрдбреЗрдЯ рдХреБрдЫ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЖрд╕рд╛рди рдЕрдкрдЧреНрд░реЗрдб рдкрде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

@ рд░реВрдЯрд┐рдХреНрд╕ рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд┐рдХрд╛рд▓реВрдВрдЧрд╛

рдпрд╣рд╛рдБ рдХреБрдЫ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдЧрд╛рдореА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рддрдп рд╣реИ, рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓реЙрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред ASP.NET рдХреЛрд░ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╛ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЙрдкрдпреБрдХреНрдд рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдХрд╣рд╛рдВ рдлрд╛рдЗрд▓ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╣реЛрдо рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд▓реЙрдЧ рдХрд░реЗрдВ рдФрд░ рдореБрдЭреЗ (@Eilon) рдЯреИрдЧ рдХрд░реЗрдВ рдФрд░ рдореИрдВ рдЖрдкрдХреЛ рд╕рд╣реА рдЬрдЧрд╣ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реВрдВрдЧрд╛ред

рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ermithun picture ermithun  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

githubgitgit picture githubgitgit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bgribaudo picture bgribaudo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ipinak picture ipinak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

aurokk picture aurokk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ