Aspnetcore: рдЪрд░реНрдЪрд╛: ASP.NET Core 3.0 рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдкрд░ рдЪрд▓реЗрдЧрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЕрдХреНрддреВре░ 2018  ┬╖  213рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рдпрд╣ https://github.com/aspnet/Announcements/issues/324 рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░реНрдЪрд╛ рдЖрдЗрдЯрдо рд╣реИ

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

"рд╣рддреНрдпрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ", рдПрдкрд┐рд╕реЛрдб 2: рдПрдХ рд╣реА рдХрд╣рд╛рдиреА, рдПрдХ рд╣реА рдЪрд░рд┐рддреНрд░ : rofl:

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

рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ netcoreapp рд░реВрдк рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪрд▓рд╛ (рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдирдП рдПрдкреАрдЖрдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣реИ)ред

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

рдмреЗрд╢рдХ, рдЧреИрд░- .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдХрдбрд╝рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рджреБрд░реНрд▓рдн рд╣реИрдВ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдмрд╛рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ 6, 12 рдпрд╛ 18 рдорд╣реАрдиреЗ рд▓рдЧрддреЗ рд╣реЛрдВ, рдореИрдВ рдбреЙрди ' t рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓реЛрдЧ рдпрд╣реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛, рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВред

IMHO, рдпрд╣ ASP.NET Core 3.0 рдХреЛ рдПрдХ рдирдпрд╛ netstandard TFM рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА .NET рдХреЛрд░ APIs рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдирдП рдПрдкреАрдЖрдИ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬ рджреЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдирд╡реАрдирддрдо рдорд╛рдирдХ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд▓реЛрдЧ рд╕реБрдкрд░ .NET 3-рд╡рд░реНрд╖ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдЖрдкрдиреЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдЙрд╕реЗ рдХрд░реЗрдВ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдПрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореГрдд рдЕрдВрдд рдХреЗ рдмрдЬрд╛рдп рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЖрдк рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред

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

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

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ ASP.NET рдХреЛрд░ рдХреЗ рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╣рд┐рддрд╛рд░реНрдереЛрдВ рд╕реЗ рджреБрдЦреА рд╣реВрдВ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХ рдиреЗрдЯрд╕реНрдЯреЗрдкрд░ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп netcoreapp3.0 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА; рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ # 3756 рдХреЗ рд╕рд╛рде рдЙрди рдШрдЯрдХреЛрдВ рдХреЛ ASP.NET рдХреЛрд░ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд╣рд░ рдЕрдиреБрдкрдпреЛрдЧреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

рдпрд╣ рдмрд╣реБрдд рд╕реЗ рдРрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ 3 рд╕рд╛рд▓ рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдардВрдб рдореЗрдВ рдмрд╛рд╣рд░ рдПрдХ рд╕рдорд░реНрдерд┐рдд рдФрд░ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рдВрдЧрдарди рдореЗрдВ рдирдП ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреА рдУрд░ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред рдиреЗрдЯ рдХреЛрд░ 2.1 рдПрд▓рдЯреАрдПрд╕)ред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдХрджрдо рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ServiceStack ASP.NET Core Apps рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ ASP.NET Core рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╡реЗрдм-рдХреЛрд░рдлреИрдХреНрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 1/3 (33.8%) рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдлрд┐рд░ рд╡рд╣реА рдЦрд╛рд▓реА рд╡реЗрдм рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬреЛ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред

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

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

"рд╣рддреНрдпрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ", рдПрдкрд┐рд╕реЛрдб 2: рдПрдХ рд╣реА рдХрд╣рд╛рдиреА, рдПрдХ рд╣реА рдЪрд░рд┐рддреНрд░ : rofl:

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

рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ netcoreapp рд░реВрдк рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪрд▓рд╛ (рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдирдП рдПрдкреАрдЖрдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣реИ)ред

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

рдмреЗрд╢рдХ, рдЧреИрд░- .NET рдХреЛрд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕реЗ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдХрдбрд╝рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рджреБрд░реНрд▓рдн рд╣реИрдВ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рдмрд╛рд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ 6, 12 рдпрд╛ 18 рдорд╣реАрдиреЗ рд▓рдЧрддреЗ рд╣реЛрдВ, рдореИрдВ рдбреЙрди ' t рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд▓реЛрдЧ рдпрд╣реА рдЪрд╛рд╣рддреЗ рд╣реИрдВ: рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛, рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рд▓рдХреНрд╖реНрдп рдирд╣реАрдВред

IMHO, рдпрд╣ ASP.NET Core 3.0 рдХреЛ рдПрдХ рдирдпрд╛ netstandard TFM рд▓рдХреНрд╖реНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА .NET рдХреЛрд░ APIs рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдЧрд╛ред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рдирдП рдПрдкреАрдЖрдИ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рд╕реНрдерд┐рд░ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╡рд╛рдкрд╕ рднреЗрдЬ рджреЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдирд╡реАрдирддрдо рдорд╛рдирдХ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╣реЛред

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд▓реЛрдЧ рд╕реБрдкрд░ .NET 3-рд╡рд░реНрд╖ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред

рдЖрдкрдиреЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдЙрд╕реЗ рдХрд░реЗрдВ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдПрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореГрдд рдЕрдВрдд рдХреЗ рдмрдЬрд╛рдп рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЖрдк рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред

рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред .Net рдХреЛрд░ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ mono рдпрд╛ .net framework рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЪреБрдирд╛ рдерд╛, рдФрд░ рдХрд╣рд╛ рдХрд┐ рд╡рд╣рд╛рдБ рдХрдИ .net рд░рдирдЯрд╛рдЗрдо рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдпреВ .netstandard рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред .net standard рдХреЗрд╡рд▓ рдирд╛рдо рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдВрдЧреЗ (рдХрдо рд╕реЗ рдХрдо asp.net рдХреЛрд░ рдХреЗ рд▓рд┐рдП, рд▓реЛрдЧ netcoreapp рдХреЗрд╡рд▓ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ)ред
рд╢рд╛рдпрдж oneday, .net рдХреЛрд░ рд╡рд┐рдВрдбреЛ рдкрд░ .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЛрдиреЛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЛрдиреЛ (xamarin, unity3d) рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрд╛рд░рдг рдЬреЛ рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИред рдиреЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╣ рд╣реИред рдиреЗрдЯ рдХреЛрд░ рд╢реЗрдпрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЗ рдРрдк рдХреЛ .net рдХреЛрд░ 2.0 рд╕реЗ рдирд╡реАрдирддрдо .net core 2.1 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХрд╛ C:/program file/dotnet рдлреЛрд▓реНрдбрд░ рдХрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реИ? рдореЗрд░реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ GBs рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдФрд░ рдпрд╣ рддрдм рдмрдврд╝рддрд╛ рд╣реИ рдЬрдм рдореИрдВ .net рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред

рдЖрдкрдиреЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдЙрд╕реЗ рдХрд░реЗрдВ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдПрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореГрдд рдЕрдВрдд рдХреЗ рдмрдЬрд╛рдп рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЖрдк рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред

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

рддреЛ .net рдорд╛рдирдХ рдПрдХ рдордЬрд╛рдХ рд╣реИ? рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЛрдиреЛ рдЯреАрдо рдПрд╕реНрдкреЗрдиреЗрдЯрдХреЛрд░ рд░рд┐рдкреЛрдЬ рдХреЛ рдлреЛрд░реНрдХ рдХрд░реЗрдЧреА рдФрд░ рдирд╛рдо рдмрджрд▓рдХрд░ рдПрд╕реНрдкреЗрдиреЗрдЯреЛ рдХреЛ рджреЗрдЧреА, рдЕрдиреНрдпрдерд╛ рдореИрдВ .net рд╕реНрдЯреИрдХ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред '

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЗрд░реЗ рдХрд╛рдо рдореЗрдВ рд╣рдо ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдо ASP.NET рдкрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдРрдк рдХреЛ рдХреЛрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рдХрднреА рднреА рдорди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдЗрд╕рдореЗрдВ рдФрд░ рднреА рдмрджрд▓рд╛рд╡ рд╣реЛрдВрдЧреЗред

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

рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕реА рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП - рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА _is_ рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреА рдиреМрдХрд░реА рдХреЛ рд╣рдореЗрд╢рд╛ рдирдИ рдЪреАрдЬреЗрдВ рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдк рдЖрдЬ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ .NET Core рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рд╕рд╛рд▓ рдХрд╛ рдХрд╛рдо рд▓реЗрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред

.NET Core рдореЗрдВ рдЖрдПрдВ, рдкрд╛рдиреА рдХреА рдЧрд░реНрдорд╛рд╣рдЯ ...

рдЬреЛ рднреА рдХрд╛рд░рдг рдРрд╕реЗ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг .NET рдХреЛрд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХреЗрд╡рд▓ рдирд┐рд░реНрднрд░рддрд╛ ...

рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ, рдЖрдк .NET рдорд╛рдирдХ 2.0 рдХреЗ рдмрд╛рдж рд╕реЗ .NET рдХреЛрд░ 2.0 рдкрд░ .NET 4.x рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХрдореНрдкреЗрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдкреИрдХ рд╣реИ рдЬреЛ рдЗрди рдЫреЗрджреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд▓рдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдИ рдФрд░ рдлреАрдЪрд░реНрд╕ .NET рдХреЛрд░ 3.0 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдЬрд┐рдирдореЗрдВ COM рдЗрдВрдЯрд░реЙрдк рдФрд░ рдЕрдиреНрдп рдРрдк рдореЙрдбрд▓ рдЬреИрд╕реЗ WinForms рдФрд░ WPF рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

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

рдЬрд╝рдореАрд░рд┐рди рдХреЗ рд▓рд┐рдП; рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ iOS рдпрд╛ Android рдкрд░ рд╡реЗрдмрд╕рд░реНрд╡рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред

рдореЛрдиреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрд╕рд░реНрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ .NET рдХреЛрд░ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдореЛрдиреЛ рдореЗрдВ UI рдЪрд▓рддрд╛ рд╣реИред Kestrel рдХрднреА рднреА рдмрд┐рдЧ рдПрдВрдбрд┐рдпрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрд╛ рд╣реИ рдЬреЛ рдореЛрдиреЛ рдХреЗ рдХреБрдЫ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдХрд╛рдЯрддрд╛ рд╣реИ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдмреАрдПрд╕рдбреА рдлреНрд▓реЗрд╡рд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ .NET рдХреЛрд░ рдЧреИрдк рд╣реИред

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

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

рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕реЗ Microsoft.Extensions.* .NET рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣ рд░рд╣реЗ рд╣реИрдВ) рдФрд░ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЙрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗ рдЬреИрд╕рд╛ рдХрд┐ @daveaglick рдиреЗ https: // рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИред

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

рджреВрд╕рд░реА рдУрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡реЗ рдПрдХ .NET рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреА рдереЗ рддреЛ рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдореНрд╕ ASP.NET Core 3.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рд╡реЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реЛрдВ рдУрд░ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдЬрд▓реНрдж рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ .NET рдорд╛рдирдХ 2.1 рдХреЛ рдЕрднреА рддрдХ рдЕрдВрддрд┐рдо рд░реВрдк рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЖрдЧреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред

рд╢рд╛рдпрдж ASP.NET рдХреЛрд░ рдРрдк рдореЙрдбрд▓ рдмрд╛рдж рдХреА рддрд╛рд░реАрдЦ рдореЗрдВ .NET рдорд╛рдирдХ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЪреАрдЬреЗрдВ рдкрдХрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ? рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ .NET рдорд╛рдирдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@gulbananaред рдХреЙрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЖрдкрдХреЗ asp.net рдХреЛрд░ рдкрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдпрд╛ рд╡рд╣рд╛рдБ рдПрдХ nuget рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ?

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЖрд╕рдкрд╛рд╕ рдХреЗ 2.1 рдкреИрдХреЗрдЬ рдПрдХ рдЕрдЪреНрдЫрд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкрде рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ: рдиреЗрдЯрдлреИрдХреНрд╕ рдкрд░ 2.1 рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ .NET рдХреЛрд░ рдкрд░ред

рдпрд╣ AngularJS рдмрдирд╛рдо Angular рдХреЗ рд╕рдорд╛рди рд╣реИ: рдирд╡реАрдирддрдо 1. * рдореЗрдВ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдХрдВрдкреЛрдиреЗрдВрдЯ (рд╣рд╛рд░реНрдб) рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ рд▓реЗрдЯреНрд╕ рдХреЛ Angular рд╡рд░реНрдЬрди рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдВред рдпрд╣ рд╕реБрдкрд░ рдХрдард┐рди рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИред

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

рдЕрднреА рднреА рдХреБрдЫ рд╕рд╛рдЗрдЯреЗрдВ рд╣реИрдВ рдЬреЛ рдХреНрд▓рд╛рд╕рд┐рдХ ASP (ASP.NET рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд░рд╛рдирд╛ рд╕рд╛рдорд╛рди рд╣реИрдВ)ред рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдирдП рдРрдк рдирд╣реАрдВ рдмрдирд╛рдПрдВрдЧреЗред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ <10 рд╕рд╛рд▓ рдореЗрдВ, рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдореИрдВ 2.1 рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзрд┐рдд рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЯреАрдо 2-3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП 2.1 рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗ, рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (= рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдВ) рдереЛрдбрд╝реА рджреЗрд░ рдФрд░ред

@ John0King COM рдХреЛ .NET Core 3.0 рдореЗрдВ рд╕рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .NET рд░реАрдореЛрдЯрд┐рдВрдЧ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд░рд╛рд╕рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╡реЗ рд╡рд┐рд░рд╛рд╕рдд рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдВред

рджреБрдирд┐рдпрд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдкрд░ рдЪрд▓рддреА рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧреАред рдпрд╣ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдирд┐рд░реНрдгрдп рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЛ "рд╕рдорд░реНрдерд┐рдд" рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ "рдирдИ" рдЪреАрдЬрд╝ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рддрдм рддрдХ, рдЬрдм рддрдХ @dylanbeattie рдЗрд╕реЗ рдбрд╛рд▓рддрд╛ рд╣реИ:

img_6086 3

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

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

рдпрджрд┐ рдЖрдк рдПрдХ рд▓рд╛рдЧрдд / рд▓рд╛рдн рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд╛рдн рдореЗрдВ рд╣реЛрдЧрд╛ред

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

рдпрджрд┐ рдЖрдк рдПрдХ рд▓рд╛рдЧрдд / рд▓рд╛рдн рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд╛рдн рдореЗрдВ рд╣реЛрдЧрд╛ред

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

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

рдпрд╣ "ASP.NET Core on .NET Framework" рдордзреНрдпрд╡рд░реНрддреА рдмрд┐рдВрджреБ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдкрд▓рд╛рдпрди рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд░рдорд┐рдХ рдФрд░ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, ASP.NET MVC / WebAPI / etc рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ред ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рдирдЯреЛрди рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдзрдорд╛рдХреЗрджрд╛рд░ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛, рдЬреЛ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд░рдирдЯрд╛рдЗрдо рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдмрджрд▓ рджреЗрдЧрд╛ред

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

  • EntityFrameworkCore рдХреЛ рд╣рдорд╛рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ .NET рдХреЛрд░ 3.0 рдХреЗ рд╕рд╛рде рдЕрдм EntityFramework рд╣реА .NET рдХреЛрд░ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдХрд┐рддрдирд╛ рдФрд░ рдХрд┐рди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдЪрд▓реЗрдЧрд╛, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╢рд╛рдпрдж рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

  • рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрднреА рднреА рдУрдбрдЯрд╛ рдХреА рдХрд╣рд╛рдиреА рд╣рд╡рд╛ рдореЗрдВ рдЙрда рд░рд╣реА рд╣реИред OData 3 / System.Data.Services рд╕реЗ OData 4 / WebAPI рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ (_-) рдХрд╛рд░реНрдп рдХрд╛ _substantial_ рд░рд╛рд╢рд┐ рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдм рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЕрд╕рдорд░реНрдерд┐рдд рддрдХрдиреАрдХреЛрдВ (AppDomains, Remoting, рдЖрджрд┐) рд╕реЗ рдЯреНрд░рд┐рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдпрд╛ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рдЙрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп _first_ред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдм рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЕрд╕рдорд░реНрдерд┐рдд рддрдХрдиреАрдХреЛрдВ (AppDomains, Remoting, рдЖрджрд┐) рдХреЛ рдкрд╣рд▓реЗ рдЯреНрд░рд┐рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡рд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдпрд╛ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рдЙрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред

рдЖрдк рдкрд╣рд▓реЗ 2.1 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

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

ASP.NET Core 2.1 рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдЬреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдореИрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 2.1 рдХрд╛ рдорддрд▓рдм рдерд╛ред

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

рд╡реЗрдм рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдЬреЛ рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рдХрд╛рд░реНрдпрд╛рд▓рдп COM рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЬреЛ рдХреБрдЫ System.Drawing рдЖрдзрд╛рд░рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдердВрдмрдиреЗрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ WPF рдРрдк рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ

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

@davidfowl рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред

Hypothetically рдХреБрдЫ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо ASP.NET/MVC/WebAPI рдореЗрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ 2.1 рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, 2.1 рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрджрдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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

@PinpointTownes

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

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

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

рд╢рд╛рдпрдж рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдпрд╣ netcoreapp рд░реВрдк рдореЗрдВ рддреЗрдЬрд╝реА рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЪрд▓рд╛ (рдЬреЛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдирдП рдПрдкреАрдЖрдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣реИ)ред

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

рдЖрдкрдиреЗ рдЬреЛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдЙрд╕реЗ рдХрд░реЗрдВ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдврд╛рдВрдЪрд╛ рдмрдирд╛рдПрдВ рдЬреЛ ASP.NET рдХреЛрд░ рдХреА рдУрд░ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рдкрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдореГрдд рдЕрдВрдд рдХреЗ рдмрдЬрд╛рдп рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЖрдк рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд╡реЗрдм рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдЗрди рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрд▓ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ; рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП ASP.NET Core рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реИред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рдордиреЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core рд░рди рдмрдирд╛рдиреЗ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдерд╛ред .NET рдХреЛрд░ рдореЗрдВ рдмрд╕ рдкрд░реНрдпрд╛рдкреНрдд API рдирд╣реАрдВ рдереЗред .NET Core 3.0 рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрджрд╛ API рдХреЗ 120k рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдВрдЧреЗред рдпрд╣ рдкреВрд░реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ WinForms рдФрд░ WPF рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рд╛рдВ, рдЕрднреА рднреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдкреАрдЖрдИ рдореМрдЬреВрдж рд╣реИрдВ рдЬреЛ рдЧрд╛рдпрдм рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд▓рдВрдмреА рдкреВрдВрдЫ рдореЗрдВ рднрд╛рд░реА рдЕрд╢реБрджреНрдзрд┐ рдмрдирд╛ рд▓реА рд╣реИред рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрднреА рднреА 100% рд╕рдорд╛рдирддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред

@ рдпрд╛рдХреЛрд╡-рдПрдЪ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реА рд╣реЛрддрд╛ред рдЬрдм рдЖрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред

рдЖрдк рдЧрд▓рдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк .NET рдорд╛рдирдХ рдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рд╕реЗ рдХреБрдЫ рдЕрдирднрд┐рдЬреНрдЮ рд╣реИрдВред рдорд╛рдирдХ рдХрд╛ рд▓рдХреНрд╖реНрдп рдХрднреА рднреА рдирд╡рд╛рдЪрд╛рд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрднрд┐рд╕рд░рдг рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред

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

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

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

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

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

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ "рддреЗрдЬреА рд╕реЗ рдФрд░ рдЯреВрдЯрддреА рдЪреАрдЬреЗрдВ" рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкреВрд░реЗ рджрд░реНрд╢рдХреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реИред

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

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

рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдкреЗрд╢ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ (рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5) рдЬрд┐рд╕рдореЗрдВ "рдЬреЛрдЦрд┐рдо рднрд░рд╛" рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ? рдлрд┐рд░, рдпрд╣ рдХреЛрдИ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

Microsoft.AspNetCore.Razor.Language рдФрд░ Microsoft.AspNetCore.Razor aspnet рдмрд╛рд╣рд░ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рднреА рдореМрдХрд╛ рдпрд╛ netstandard рд▓рд╣рд░ рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛? рд╣рд╛рд▓рд╛рдВрдХрд┐ рд░реЗрдЬрд░ рд╕рд┐рд░реНрдл html рдХреЗ рд▓рд┐рдП рд╣реИ рд▓реЗрдХрд┐рди рдХрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдореЗрд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЪрд╛рд▓ рд╣реИ рдЬреЛ рдЕрдм .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЦреБрд▓реЗ рдореЗрдВ Microsoft рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреНрдп рд╕рднреА рдирдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдиреЗрдЯрд╡рд░реНрде рдХреЗ рднрд╡рд┐рд╖реНрдп рдФрд░ рдЗрд╕рдХреЗ рдЕрдкрдирд╛рдиреЗ рдкрд░ рд╕рдореБрджрд╛рдп рдХреЛ рдЕрдзрд┐рдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрдпрд╛рди рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ?

@terrajobst рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЙрди API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдЙрди APIs рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрднреА рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдЖрдкрдиреЗ (MS) рдХреЛ netstandard2.0 рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UWP рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЙрд╕ рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рдереА?

рдФрд░ рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдХреА рдУрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рддрд╛ рд╣реИред

ASP.NET Core рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдкрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET рдорд╛рдирдХ рдХреЛ рд╕рднреА рдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, Xamarin / Unity API рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЧрдВрднреАрд░ рд╡реЗрдм рд╕реНрдЯреИрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

рдпрд╣ рдПрдХ рджрд░реНрджрдирд╛рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдирдП рдПрдкреАрдЖрдИ рдХреЗ рдЯрди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред

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

рдлрд┐рд░ рднреА рдпрд╣ рдареАрдХ рд╣реИ рдХрд┐ рд╣рд░ ASP.NET рдХреЛрд░ рдЗрдЯрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдпрд╣ (рдХрднреА-рдХрднреА рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░) рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдЕрдЧрд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдмрдирд╛рддреЗ рд╣реИрдВред

рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ .NET рд╕реНрдЯреИрдВрдбрд░реНрдб рдореИрдЪ .NET рдХреЛрд░ рдмрдирд╛рдХрд░ рд╕рднреА рдкрд░ рдереЛрдкрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░реНрдХ рд╕реЗ рдореБрдЭреЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдкреЗрд╢ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ (рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5) рдЬрд┐рд╕рдореЗрдВ "рдЬреЛрдЦрд┐рдо рднрд░рд╛" рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ? рдлрд┐рд░, рдпрд╣ рдХреЛрдИ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рддрдХрдиреАрдХреА рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ? .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рд╕рдВрд╕реНрдХрд░рдг рд╢рд┐рдкрд┐рдВрдЧ рдпреЛрдЧреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдУрдПрд╕ рдШрдЯрдХ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рд╕реЗрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 3.5 рдФрд░ 4.x рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ / рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ / рдкреИрдЪрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдХрд┐рддрдиреА рдЬрдЯрд┐рд▓ рд╣реИред рдПрдХ рддреАрд╕рд░рд╛ рдЬреЛрдбрд╝рдирд╛ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдХреЗ рдХрд░реАрдм рд╣реИред рджреВрд╕рд░реА рдмрд╛рдд, рдмрд╕ рдРрд╕рд╛ рдХрд░рдирд╛ рднреА рдЬреЛрдЦрд┐рдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╕рдХреНрд░рд┐рдпрдг рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ COM рд╕рдХреНрд░рд┐рдп рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХреНрд░рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдФрд░ рдпрд╣ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рде-рд╕рд╛рде рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдХрд┐рддрдиреЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреЛрдЦрд┐рдо рд╕реЗ рдореБрдХреНрдд рднреА рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдордд рд╕рдордЭреЛ рдХрд┐ рдпрд╣ рдЕрднрд┐рд╕рд░рдг рд╣реИ

@PinpointTownes рдпрд╣ .NET рдХреЛрд░

рдпрд╣ рдХреЗрд╡рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ, Xamarin / Unity API рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЧрдВрднреАрд░ рд╡реЗрдм рд╕реНрдЯреИрдХ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ ASP.NET Core рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдкрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ UWP рдкрд░ рднреА рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ Xamarin рдкрд░ рднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ? https://aspnet.uservoice.com/forums/41199-general-asp-net/suggestions/32626766-support-for-asp-net-core-running-on-uwp-as-windows

рдЖрдк рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдВрддрд░ рд╣реИ - рдФрд░ рдХреБрдЫ рдЖрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

CoreFx рд░реЗрдкреЛ рдПрдХ рдЙрдЪреНрдЪ рдорд╛рддреНрд░рд╛ рд╡рд╛рд▓рд╛ рд░реЗрдкреЛ рд╣реИред рдлрд╛рдпрд░рд╣реЙрдЬрд╝ рд╕реЗ рдкреАрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрдВрдбрд▓ рдХрд┐рдП рдЧрдП рдлреАрдЪрд░реНрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдФрд░ CoreFx рдкрд░ рд╕рднреА API рдЪрд░реНрдЪрд╛рдУрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП Xamarin рдФрд░ Unity рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред

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

рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЗрд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕реЗ .NET рд╕реНрдЯреИрдВрдбрд░реНрдб рдореИрдЪ .NET рдХреЛрд░ рдмрдирд╛рдХрд░ рд╕рднреА рдкрд░ рдереЛрдкрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░реНрдХ рд╕реЗ рдореБрдЭреЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ .NET рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд╡рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬ рдХрджрдоред .NET рдХреЛрд░ рдХреЛ рд╕рдЬрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдХреБрдЫ рднреА рдирд╣реАрдВ рдЖрдкрдХреЛ рдирд╡реАрдирддрдо netstandard TFM рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рдЖрдкрдХреЛ рдирд╡реАрдирддрдо рдПрдкреАрдЖрдИ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗрдВред

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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдУрдПрд╕ рдШрдЯрдХ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЗрд╕реЗ рд╕реЗрд╡рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 3.5 рдФрд░ 4.x рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ / рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ / рдкреИрдЪрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдХрд┐рддрдиреА рдЬрдЯрд┐рд▓ рд╣реИред рдПрдХ рддреАрд╕рд░рд╛ рдЬреЛрдбрд╝рдирд╛ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдХреЗ рдХрд░реАрдм рд╣реИред

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

рджреВрд╕рд░реА рдмрд╛рдд, рдмрд╕ рдРрд╕рд╛ рдХрд░рдирд╛ рднреА рдЬреЛрдЦрд┐рдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╕рдХреНрд░рд┐рдпрдг рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ COM рд╕рдХреНрд░рд┐рдп рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХреНрд░рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдФрд░ рдпрд╣ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рд╣рдо рд╕рд╛рде-рд╕рд╛рде рдФрд░ рд╕рд╛рде-рд╕рд╛рде рдХрд┐рддрдиреЗ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдпрд╣ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреЛрдЦрд┐рдо рд╕реЗ рдореБрдХреНрдд рднреА рдирд╣реАрдВ рд╣реИред

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

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореИрдВ рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЧрд▓рдд рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдБ - Microsoft - рдХреЗ рдкрд╛рд╕ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред рдФрд╕рдд рдХрдВрдкрдиреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдирд╛ рд╣реИ?

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рд▓реЛрдЧ рд▓рдЧрд╛рддрд╛рд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдФрд░ рдЕрдХреЗрд▓реЗ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред

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

рдЕрдм, ASP.NET Core 2.2 рдкрд░ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдиреЗ рдФрд░ ASP.NET Core 3.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдЦрд┐рдо рд▓реЗрдиреЗ рдХреЗ рдмреАрдЪ, рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВрдЧреЗ?

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

рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЗ рд╕рднреА рднрд╛рдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА, рдЖрдо рддреМрд░ рдкрд░ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рднрд╛рдЧреЛрдВ (рдЬреИрд╕реЗ Microsoft.AspNetCore.Http.Extensions ) .NET рдорд╛рдирдХ рдкрд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗ?

@andriysavin

@terrajobst рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЙрди API рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдЙрди APIs рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ (рдФрд░ рд╕рдВрднрд╡рддрдГ рдХрднреА рднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рдЖрдкрдиреЗ (MS) рдХреЛ netstandard2.0 рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, UWP рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдХреБрдЫ рд╕рдордп рдмрд╛рдж рдЙрд╕ рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рдереА?

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

рд▓реЗрдХрд┐рди рдЕрдм рд╣рдо рдПрдХрджрдо рдирдИ рдХреНрд╖рдорддрд╛рдУрдВ рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЬрд╛рдирд╡рд░ рд╣реИред

рдореЗрд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ рд▓реЛрдЧ рд▓рдЧрд╛рддрд╛рд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдФрд░ рдЕрдХреЗрд▓реЗ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВред

рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдореЗрдВ, Microsoft рдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдФрд░ рдЕрдХреЗрд▓реЗ рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрд┐рддрдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХрд╛ рддрд░реНрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

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

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

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдЬреЛ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рдмрдирд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ PITA рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░, рдЬреЛ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рд╡рд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рджрд░реНрджрдирд╛рдХ рдмрдирд╛рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ: .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ PITA рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рд╡рд┐рдХрд▓реНрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдмрд╕ рдПрдХ рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА ASP.NET рдХреЛрд░ред

рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрд╛рдо рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдереЗред рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд░рдирдЯрд╛рдЗрдо рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ bazillion рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдзреНрдпрдХрд╛рд░реА рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рджреБрдГрд╕реНрд╡рдкреНрдиред рдпрд╛ 4.6.1 рдореЗрдВ рдЯреВрдЯреЗ рд╣реБрдП .NET рдорд╛рдирдХ 2.0 рд╕рдорд░реНрдердиред рд╣рдордиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдЗрдЪреНрдЫрд╛рд╢рдХреНрддрд┐ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХреА рдмрд╛рдд рд╣реИред

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

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

рд▓реЗрдХрд┐рди рд╡рд┐рдХрд▓реНрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдмрд╕ рдПрдХ рдХрдо рд╢рдХреНрддрд┐рд╢рд╛рд▓реА ASP.NET рдХреЛрд░ред

рдпрд╣ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рд╕реБрдЭрд╛рдпрд╛ рдерд╛: ASP.NET рдХреЛрд░ рдкреИрдХреЗрдЬ рдЬреЛ рдЕрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ netstandard20 рдФрд░ netcoreapp30 рд▓рдХреНрд╖реНрдп рдХрд░рдХреЗ) рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реАрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХреА рдкреЗрд╢рдХрд╢, рдмрд╣реБрдд рдХрдо рдХреЗ рд╕рд╛рде рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рджрд░реНрд╢рдиред рдХрднреА-рдХрднреА рд▓реЛрдЧ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд╛рдо рд╣реЛрддреА рд╣реИред рдирдИ рдЪрдордХрджрд╛рд░ рдЪреАрдЬреЗрдВ рдирд╣реАрдВред рд╕реБрдкрд░ рдлрд╛рд╕реНрдЯ рд╕рд╛рдорд╛рди рдирд╣реАрдВред

рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрд╛рдо рд╕реЗ рдмрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдереЗред рдореИрдВрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд░рдирдЯрд╛рдЗрдо рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ bazillion рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдзреНрдпрдХрд╛рд░реА рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рджреБрдГрд╕реНрд╡рдкреНрдиред рдпрд╛ 4.6.1 рдореЗрдВ рдЯреВрдЯреЗ рд╣реБрдП .NET рдорд╛рдирдХ 2.0 рд╕рдорд░реНрдердиред рд╣рдордиреЗ рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдЗрдЪреНрдЫрд╛рд╢рдХреНрддрд┐ рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддрд╛ рдХреА рдмрд╛рдд рд╣реИред

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

рдореБрдЭреЗ рдЙрд╕ рдЖрджрдореА рдХреЗ рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рдЕрдлрд╝рд╕реЛрд╕ рд╣реИ:

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

@terrajobst

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

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

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

рдЖрдк рд╕реВрдЪреА рдореЗрдВ Microsoft.Owin.Security.Interop backcompat 'рдкреИрдХреЗрдЬ, ASP.NET рдХреЛрд░ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рд╕реБрдЭрд╛рдпрд╛ рдерд╛: ASP.NET рдХреЛрд░ рдкреИрдХреЗрдЬ рдЬреЛ рдЕрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ netstandard20 рдФрд░ netcoreapp30 рд▓рдХреНрд╖реНрдп рдХрд░рдХреЗ) рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реАрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛ рд╕реЗрдЯ рдХреА рдкреЗрд╢рдХрд╢, рдмрд╣реБрдд рдХрдо рдХреЗ рд╕рд╛рде рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рджрд░реНрд╢рдиред рдХрднреА-рдХрднреА рд▓реЛрдЧ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдХрд╛рдо рд╣реЛрддреА рд╣реИред рдирдИ рдЪрдордХрджрд╛рд░ рдЪреАрдЬреЗрдВ рдирд╣реАрдВред рд╕реБрдкрд░ рдлрд╛рд╕реНрдЯ рд╕рд╛рдорд╛рди рдирд╣реАрдВред

рд╣рдордиреЗ рдЗрд╕ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХреА рд╣реИред рд╡рд╣рд╛рдБ рдЪреБрдиреМрддреА рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд API рдФрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ API рдореЗрдВ рдмреНрд▓реАрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET рдХреЛрд░ рдХреЗ рдордзреНрдп-рд╡реЗрдпрд░ рдореЗрдВ рдПрдХреАрдХреГрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХрдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рджреНрд╡рд╛рди рдмрдирд╛рдП рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдкреНрд░рдХрд╛рд░ рдХреЗрд╡рд▓ рдХреЛрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ ASP.NET рдХреЛрд░ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдЧрд╛ рдЬреЛ рдЕрдм рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИрдВред

@HaloFour

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЗ рд╕рд╛рде

@terrajobst рдЖрдк рдПрдХрддрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд░рд╣реЗрдВред рдХреНрдпрд╛ рдЙрдирдХрд╛ рдЕрдкрдирд╛ рд╕реАрдПрд▓рдЖрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ? рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдерд╛ рдХрд┐ рд╡реЗ рдореЛрдиреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдПрдХрддрд╛ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреИрд░-рдореЛрдиреЛ рдПрдУрдЯреА рд╕рдВрд╕реНрдХрд░рдг, IL2CPP рд╕рд╣рд┐рдд рдХрдИ .NET рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИрдВред рдЙрдирдХреА рдХрдХреНрд╖рд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рд╕рдорд░реНрдерд┐рдд рдПрдкреАрдЖрдИ рднреА рдорд╛рдирдХ рдореЛрдиреЛ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред

@terrajobst

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ .NET рдХреЛрд░-рдУрдирд▓реА рдлрд╝реАрдЪрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ sill рд╣рдореЗрдВ .NET рдХреЛрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЕрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

рдХрд┐рд╕ рд╣рдж рддрдХ? .NET рдХреЛрд░ рдореЗрдВ "рд╡рд┐рдХрд╕рд┐рдд" рдПрдкреАрдЖрдИ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрднреА рднреА .NET рдорд╛рдирдХ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдФрд░ рдХреЛрдИ рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдЕрд╕рдВрдЧрдд рд╡рд┐рдЪрд▓рди рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред

рдореИрдВ @HaloFour рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдХреЗрд╡рд▓ рд╡рд╣реА рд▓реЛрдЧ рдЬреЛ рдбреАрдЖрдИрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ ... рдЗрд╕рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл Corefx рдФрд░ Aspnetcoreред рдореИрдВ рд╕реЛрдЪ рднреА рдирд╣реАрдВ рд╕рдХрддрд╛ рдХрд┐ рдХреЛрдИ рдФрд░ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдЧрд╛ред

рдХреЗрд╡рд▓ рд╡рд╣реА рд▓реЛрдЧ рдЬреЛ рдбреАрдЖрдИрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд╡реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ ... рдЗрд╕рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рд┐рд░реНрдл Corefx рдФрд░ Aspnetcoreред

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

рдореИрдВ рд╕реЛрдЪ рднреА рдирд╣реАрдВ рд╕рдХрддрд╛ рдХрд┐ рдХреЛрдИ рдФрд░ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдЧрд╛ред

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

@ рдпрд╛рдХреЛрд╡-рдЬ

рдХреНрдпрд╛ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЗ рд╕рднреА рднрд╛рдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ ...

рдкреИрдХреЗрдЬ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреА рдЕрд╕реНрдерд╛рдпреА рд╕реВрдЪреА рдпрд╣рд╛рдВ рд╣реИ: https://github.com/aspnet/AspNetCore/issues/3756

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

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

.NET рдХреЛрд░ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдХрд╛рдо рд╣реИред

рдХреНрдпрд╛ Microsoft рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЯреВрд▓рд┐рдВрдЧ рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдЙрдиреНрдирдпрди" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо ASP.NET рд╕реЗ .NET FX рд╕реЗ ASP.NET рдХреЛрд░ рд╕реЗ .NET FX рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд░рдирд╛ рд╣реИ?

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

рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдВрд╕реНрдХрд░рдг рдкреЗрд╢ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ (рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5) рдЬрд┐рд╕рдореЗрдВ "рдЬреЛрдЦрд┐рдо рднрд░рд╛" рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ?

рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ред NET Core 3.0 рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рд╣реИ? рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рде-рд╕рд╛рде рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ "рдЬреЛрдЦрд┐рдо рднрд░рд╛" рдмрджрд▓рд╛рд╡ рд╣реИрдВред рдХреНрдпрд╛ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрдЧрд▓рд╛ рд╕реЗрдЯ рддрдм .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 6 рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА .NET рдХреЛрд░ 2.0 рдореЗрдВ рдореМрдЬреВрдж рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдФрд░ .NET рдХреЛрд░ 3.0 рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдирдпрд╛ рдлреАрдЪрд░ред .NET рдХреЛрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ 4.x рдХреЗ рд╕рд╛рде ".NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5" рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдмреЗрд╣рдж рд▓рдВрдмрд╛ рдПрд▓рдЯреАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ?

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

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕реБрдЭрд╛рд╡: рдХреНрдпрд╛ рдХреЛрдИ рдореМрдХрд╛ рд╣реИред ASP.NET Core 2.2 рдЖрдо 3 рд╕рд╛рд▓ рд╕реЗ рдКрдкрд░ _extended_ рд╕рдорд░реНрдерди рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде LTS рдмрди рдЬрд╛рдПрдЧрд╛?

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░реЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЙрдиреНрд╣реЗрдВ (1) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рджреЗрдирд╛ рдФрд░ (2) ASP.NET MVC рд╕реЗ ASP рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░реЗрд░рдгрд╛ .NET Core (рдЬрдм рд╡реЗ .NET Core _yet_ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ)ред

рдореБрдЭреЗ рдЕрднреА рднреА рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ, .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ .NET рдХреЛрд░ 2.1 LTS рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ v4.6.1 + рд╕рдорд░реНрдерди рдЪрдХреНрд░ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА рдЬрдм рд╕реЗ рдпрд╣ .NET FX рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдпрд╣ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдХреЗ рднреАрддрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИ?

@mythz ASP.NET Core .NET рдХреЛрд░ рд╕рдорд░реНрдерди рдЬреАрд╡рдирдЪрдХреНрд░ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рд╛рддреЗ рд╣реЛрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЪрд╛рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо 3.0, 4.0 рдФрд░ 5.0 рдХреЗ рд▓рд┐рдП .net рдорд╛рдирдХ рдХреЛ рдЕрджреНрдпрддрди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧреА рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЧреЗ рдпрд╣ рд╕рдВрдЪрд╛рд░ рдХрд░реЗрдЧреА рдХрд┐ рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП .net рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ .net рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╛рдХреА рд╕рдм рд╕рд┐рд░реНрдл рдЖрдзрд╛ рдмреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЖрдЬ рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ? (рд╕рд┐рд░реНрдл рдПрдХ рдЬрд╛рдВрдЪ рдкреНрд░рд╢реНрди)ред рдкрд░реНрдпрд╛рдкреНрдд рд╕рдордп рдХрд┐рддрдирд╛ рд╕рдордп рд╣реИ?

@terrajobst рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ netstandard рдЕрдЦрдВрдб рд╣реИ рд▓рдЧрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп netstandard рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдПрдкреАрдЖрдИ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рднреА TFM рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП base2.0 + рд╕реНрдкреИрди рджреЛ API рд╕реЗрдЯ рд╣реЛрдВрдЧреЗред

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

рдПрдкреАрдЖрдИ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде ASP.NET рдХреЛрд░ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдХреА рддрд░рд╣ рдХрдо-рд╕рд╣рд╛рдпрдХ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

@Sebazzz рдпрд╣ рдмреЗрд╣рдж рдЕрдЬреАрдм рд╡рд┐рд╖рдп рд╣реИред рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ netstandard рдХреЛ рдлрд┐рд░ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдкрдЯрд░реА рд╕реЗ рдирд╣реАрдВ рдЙрддрд╛рд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЙрдЯрдиреЗрдЯ / рдорд╛рдирдХ рдкрд░ рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдерд╛ рдФрд░ рдЗрд╕реЗ рд╢реВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

@ рд╕рд┐рдЬрд╝реНрдЬрд╝реНрдЬрд╝ @masonwheeler

@terrajobst рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ netstandard рдЕрдЦрдВрдб рд╣реИ рд▓рдЧрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп netstandard рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг рдПрдкреАрдЖрдИ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рднреА TFM рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП base2.0 + рд╕реНрдкреИрди рджреЛ API рд╕реЗрдЯ рд╣реЛрдВрдЧреЗред

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

рдореИрдВ .NET рдорд╛рдирдХ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ @davidfowl рд╕реЗ рд╕рд╣рдордд https://github.com/dotnet/standard рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рджрд░реНрдЬ

рдореИрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░реЗ рдиреЗрдЯ рд╕реНрдЯреИрдВрдбрд░реНрдб рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рд╣реИред

@ рд╢рд╛рдпрди рдХрд░рдиреЗ

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

рдпрд╣ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд░рдирдЯрд╛рдЗрдо рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдЬреЗрдирд░рд┐рдХ рдХреЗ рд╕рдорд╛рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, C # рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдпрд╣ рд╕рд┐рд░реНрдл рд╕рдВрджрд░реНрдн рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ APIs рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ)ред рдХреЛрдИ рднреА # рд╕реБрд╡рд┐рдзрд╛ рдЬрд┐рд╕реЗ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрд╢рдХреНрдд-рд╕рдВрдЪрд╛рд▓рдХ рдСрдкрд░реЗрдЯрд░ ?. рдпрд╛ _ рдХреЛ рдЕрднрд┐рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Task рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 4.5 рдпрд╛ рдЙрд╕рд╕реЗ рдКрдкрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдпрд╛рд░ рдореИрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реВрдВ .. .net рдХреЛрд░ рдкрд░ рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рдирд╛, imo, рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рдо рд╣реИ рдФрд░ рдореИрдВ рдирд╡рд╛рдЪрд╛рд░ рдХреА рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рд▓реЛрдЧ _will_ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рди рд╣реИрдВ .. рдЗрд╕рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╕рдВрдЪрд╛рд░ рд╣реИред рдЬрдм 2.1 3 рд╡рд░реНрд╖ рдХреЗ рдПрд▓рдЯреАрдПрд╕ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЧрдИ рдереА, рддреЛ рдлреБрд▓рдлреИрдХреНрд╕ рдкрд░ рд▓реЛрдЧреЛрдВ рдХреЛ 3.0 рдореЗрдВ рдУ рдХрджрдо рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА рдФрд░ рдЕрднреА рднреА рдлреБрд▓рдлреИрдХреНрд╕ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреЗ рдирд┐рдпреЛрдХреНрддрд╛рдУрдВ рдФрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд▓рд╛рдЗрди рдкрд░ рдЕрдкрдиреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдбрд╛рд▓рддреЗ рд╣реБрдП asp.net core рдмреЗрдЪрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдм рд╡реЗ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЧрд▓реАрдЪрд╛ рдЙрдирдХреЗ рдиреАрдЪреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рд╡реЗ рдПрдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪрд╛, asp.net рдХреЗ рднрд╡рд┐рд╖реНрдп, рдЕрдм (рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ) 3 рд╕рд╛рд▓ рдХреЗ рд╕рдорд░реНрдерди рдкрд░ рдЫрд╛рдпрд╛ рд╣реБрдЖ рд╣реИ

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

рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ .net core 3 рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП _want_ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╛рд╡рд┐рдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡реЗ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ (рдпрд╛ рдЬреЛрдЦрд┐рдо рдХреЛ рдмрджрд▓рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ) рдЕрдм рдЙрдиреНрд╣реЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди _again_ рдкрд┐рдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡рд╛рджрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ _this time_ рдпрд╣ рдПрдХ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдирд┐рд╡реЗрд╢ рд╣реЛрдЧрд╛ред , рдпрд╣ рдПрдХ рдХрдард┐рди рдмрд┐рдХреНрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ 3 рд╕рд╛рд▓ рдХреЗ рд╕рдорд░реНрдерди рдЪрдХреНрд░ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗред

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

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

LTS рдХреЗ рд▓рд┐рдП рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдЙрдЪрд┐рдд рд╣реИ?

6 рд╕рд╛рд▓ рд╢рд╛рдпрдж? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд░рд┐рд╕реЗрдкреНрд╢рди рдореЗрдВ рдПрдХ рдмрдбрд╝реА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ .. рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдВрдд рдореЗрдВ, рдХреБрдЫ рд▓реЛрдЧ рдкрд░реЗрд╢рд╛рди рд╣реЛрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: /

@davidfowl @ aL3891

рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ LTS "рдкреНрд░реАрдорд┐рдпрд░ рд╕рдкреЛрд░реНрдЯ" рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддреАрди рд╕рд╛рд▓ рдХреЗ "рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди" (рднреБрдЧрддрд╛рди) рдХреЗ рд╕рд╛рде 5 рд╕рд╛рд▓ рд╣реИред рдЬрд╛рд╡рд╛ 11, рдЬреЛ рдПрдХ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬрд╝ рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдорд╣реАрдиреЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реБрдИ рдереА, рдХреНрд░рдорд╢рдГ рд╕рд┐рддрдВрдмрд░ 2023 рдФрд░ рд╕рд┐рддрдВрдмрд░ 2026 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдЧреА

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

FYI рдХрд░реЗрдВ, рдореИрдВрдиреЗ ASP.NET рдХрдореНрдпреБрдирд┐рдЯреА рд╕реНрдЯреИрдВрдбрдЕрдк рдкрд░ рдЖрдЬ рдХреА рдШреЛрд╖рдгрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝реА рдмрд╛рдд рдХреА: https://www.youtube.com/watch?v=-b59KvkWBUo&list=PL1rZQsJPBU2StrNg0aqvQswETPcYnNKL&index=0

рд▓рдХреНрд╖реНрдп .net рдорд╛рдирдХ, рдХреГрдкрдпрд╛ред asp.net core .netstandard2.1 рдпрд╛ 3.0 рд▓рдХреНрд╖реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореЛрдиреЛ рдФрд░ .netframework рдХреИрдЪрдЕрдк рдХреЛ рдмрд╛рдж рдореЗрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ asp.net core netcoreapp рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИ рдЙрди Aspnetcore рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ .netcoreapp рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдФрд░ .net рдХреЛрд░ рд╣рдореЗрд╢рд╛ .net framework рдФрд░ mono рд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧрд╛
рдореЛрдиреЛ рдФрд░ .netframework рдЕрдВрддрддрдГ .netcoreapp рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдЧрд╛ рдпрджрд┐ Microsoft Microsoft рд╕реЗ рдЕрдзрд┐рдХ рдлреНрд░реЗрдорд╡рд░реНрдХ / рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ netcoreapp рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг nuget рд▓рдХреНрд╖реНрдп .netcoreapp рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛)ред

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ .netstandard .netcoreapp .netstandard рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ

@ John0King рдХреГрдкрдпрд╛ ASP.NET Core рдХреЗ рдмрд╛рд╣рд░ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдВред

  1. рд░реЗрдЬрд░ @poke рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  2. MVC рдлрд╝рд┐рд▓реНрдЯрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕реЗрд╕ / рдПрдЯреНрд░реАрдмреНрдпреВрдЯреНрд╕ (рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╢реНрд░реЗрдгреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ ActionFilters рдФрд░ TagHelpers рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдереИрддрд┐рдХ / extention рд╡рд┐рдзрд┐ рд╣реИ, int, long ectред рдореИрдВ MVC рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП PrivateAssert="All" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреБрдЫ рдФрд░ рдЬрд╣рд╛рдВ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ MVC рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рджреЛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ .netstandard рдФрд░ рджреВрд╕рд░рд╛ .netcoreapp )

рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореБрдЭреЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ? ( .netstandard рдмрдирд╛рдо .netcoreapp )ред рдЖрдЬ asp.net рдХреЛрд░ 2.1 рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП .netstandard рдЪреБрдиреЗрдВ, рд╡реЗрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП .netcoreapp рдпрд╛ net461 ред

рдореЛрдиреЛ рдФрд░ .netframework рдЖрдЦрд┐рд░рдХрд╛рд░ .netcoreapp рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░реЗрдЧрд╛, рдпрджрд┐ microsoft netcoreeapp рдХреЛ рдЕрдзрд┐рдХ рдЪреМрдЦрдЯреЗ / рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдЬреЛ nuget рд▓рдХреНрд╖реНрдп рдкрд░ рдЕрдзрд┐рдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдХрд╛рд░рдг рдмрди рдЬрд╛рдПрдЧрд╛)ред

рдпрд╣ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рд▓реЛрдЧ .netstandard рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ .netcoreapp рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдХреНрдпрд╛ рдЖрдПрдЧрд╛

MVC рдлрд╝рд┐рд▓реНрдЯрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕реЗрд╕ / рдПрдЯреНрд░реАрдмреНрдпреВрдЯреНрд╕ (рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╢реНрд░реЗрдгреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ ActionFilters рдФрд░ TagHelpers рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдЗрдВрдЯ, рд▓реЙрдиреНрдЧ ect рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдереИрддрд┐рдХ / рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╣реИред рдореИрдВ MVC рдкреИрдХреЗрдЬ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП PrivateAssert = "All" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрдм рдореИрдВ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдХреБрдЫ рдФрд░ рдЬрд╣рд╛рдВ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ MVC рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рджреЛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдПрдХ .netstandard рдФрд░ рджреВрд╕рд░рд╛ .netcoreapp)ред

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

@davidfowl рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рд╕рд╣рд╛рдпрдХ рд╢реНрд░реЗрдгреА рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рдореИрдВ рдЙрди рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ рдПрдХ asp.net рдХреЛрд░ MVC рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрд╕реЛрд▓ рдРрдк рдореЗрдВ рдЗрд╕рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

@davidfowl рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рд╕рд╣рд╛рдпрдХ рд╢реНрд░реЗрдгреА рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ, рдореИрдВ рдЙрди рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрдм рдореИрдВ рдПрдХ asp.net рдХреЛрд░ MVC рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдХрдВрд╕реЛрд▓ рдРрдк рдореЗрдВ рдЗрд╕рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред

рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ред рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдорд╡реАрд╕реА рдЪреАрдЬреЗрдВ рдФрд░ рдЕрдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ?

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

@davidfowl рд╣рд╛рдБред рд╕рд╣рд╛рдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХреБрдЫ рд╡рд░реНрдЧ / рд╡рд┐рдзрд┐ рд╣реИрдВ рдЖрдк рдЙрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдЖрдк рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ mvc рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд░реЗрдлрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ u рдЕрдкрдиреЗ mvc рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧ / рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдУрд╣ рдЕрдЪреНрдЫрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдЖрдкрдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рд╕реНрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ your

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

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ .net рдЯреАрдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

рдмрд╛рдд рдпрд╣ рд╣реИ, ASP.NET Core рдПрдХ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред > рддреАрди рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирдореЙрдбрд┐рдлрд╛рдЗрдб рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЪрд▓рд╛рдирд╛ рдХрд┐рд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ? рдпрджрд┐ рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рднреЗрджреНрдпрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд░ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЛ рджрд░реНрд╢рд╛рдПрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рдЖрдк рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ TLS 1.4, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорд╛рдВрдЧ рд╣реИ рдХрд┐ рд╕рд╛рдЗрдЯ рдЙрдирдХреЗ рдирдП рд╡реЙрдЪрд▓реЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░реЗред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк ASP.NET Core 2.1 рд╕реЗ 5-7 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП LTS рдХреА рдЕрд╡рдзрд┐ рдмрдврд╝рд╛ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдЕрдиреБрднрд╡ рдореЗрдВ, рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдЙрджреНрдпрдо-рд╡рд╛рдИ рд╡рд┐рдХрд╛рд╕ "рдЖрдзреБрдирд┐рдХ" рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рд┐рдорд╛рдиреА рдЧрддрд┐ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рднреА рд╡реЗ рдЕрднреА рднреА рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд╛рдлреА рдкреБрд░рд╛рдиреЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдирдП рдирд┐рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ _launch_ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЕрдХреЗрд▓реЗ 3 рд╕рд╛рд▓ рдХреЗ рднреАрддрд░ рдПрдХ рдкреНрд░рдореБрдЦ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рджреЗрдВред рдпреЗ рдЙрджреНрдпрдо (рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдЖрдВрддрд░рд┐рдХ-рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ) рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдХреНрд╕рд░ 7-10 рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдПрд╕рдЯреА.рдиреЗрдЯ рдХреЛрд░ 2.1 рдХреЗ рд▓рд┐рдП рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд▓рд┐рдП 10 рд╡рд░реНрд╖ рд╣реЛрдирд╛ рдЕрдиреБрдЪрд┐рдд рд╣реИред 5 рд╕рд╛рд▓ 3 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, 7 рд╕рд╛рд▓ рдПрдХ рдРрд╕рд╛ рдЖрдВрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд▓рдЧрднрдЧ рд╕рднреА рдХреЛ рдЖрд░рд╛рдорджрд╛рдпрдХ рдмрдирд╛ рджреЗрдЧрд╛ред

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ .NET рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд╡рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬ рдХрджрдоред .NET рдХреЛрд░ рдХреЛ рд╕рдЬрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдХреБрдЫ рднреА рдирд╣реАрдВ рдЖрдкрдХреЛ рдирд╡реАрдирддрдо netstandard TFM рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреЗрд╡рд▓ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рдЖрдкрдХреЛ рдирд╡реАрдирддрдо рдПрдкреАрдЖрдИ рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╕реЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХреЗрдВред

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

рддрдм netstandard2.4 рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ, рдХреБрдЫ рдирдП рдПрдкрд┐рд╕ рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдПрдкреАрдЖрдИ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЕрдм рдХреНрдпрд╛?

рдЖрдк рдПрдХ рдРрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреИрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ netstandad2.4 рд╕реЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди netstandard2.4 .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ netstandard2.2 рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд░ рдЖрдкрдХреЛ рддреАрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
рдкреБрд░рд╛рдиреЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП netstandard2.2 рдФрд░ net4x рд╢реБрджреНрдз рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл netstandad2.4 рдФрд░ рдЬреЛ net4x can also implement but not support because of APIs that went into netstandard2.3` рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдпрд╣ рдХреИрд╕реЗ рдкреИрдХреЗрдЬ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдФрд░ рд╢рд┐рдк рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛?

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

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

рдпрд╣рд╛рдВ рдЕрд╕рд▓ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИ? рдЬреЛ рд▓реЛрдЧ ASP.NET рд▓рд┐рдЧреЗрд╕реА рд╕реЗ ASP.NET Core рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ ASP.NET Core рдХреЗ рд▓рдХреНрд╖реНрдп .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдг рд╡реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ System.Web рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реЛрдВрдЧреЗ, рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдкрд░ рди рддреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдЕрднреА рдЖрд╡реЗрджрди рд╣реИрдВ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдЙрдирдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдФрд░ рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 2.1 рдкрд░ рд╣реИрдВ, рдЕрдЧрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╡рд╕реНрддреБрдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдмрд╛рдХреА рд╕рдм рдЬреЛ ASP.NET Core 3.0 рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реИ рд╡рд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред

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

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

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

рдФрд░ рдЬреЛ рд▓реЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET Core 2.1 рдкрд░ рд╣реИрдВ, рдЕрдЧрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

  • рд╕рд╣рдпреЛрдЧ? (3 рд╕рд╛рд▓ рдХрд╛ рд╕рдорд░реНрдерди рдмрд╣реБрдд рдХрдо рд╣реИ)
  • рдПрдХ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗрд╡рд▓ 3.0 рдореЗрдВ рдореМрдЬреВрдж рд╣реИ? (рдПрд▓рдЯреАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ)
  • рдЖрдкрдХреЛ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо ASP.NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ?

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

рд╣рд╛рдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдЖрджрд░реНрд╢ рддрд░реАрдХрд╛ рд╣реИред рдкрд░рдВрддреБ:

  • рдХреБрдЫ рдРрдкреНрд╕ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд▓рд╛рдЗрдмреНрд░реЗрд░реА .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдФрд░ рд╡рд┐рдХреНрд░реЗрддрд╛ рдЗрд╕реЗ (рдпрд╛ рдирд╣реАрдВ) рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рднрд╛рдЧреНрдп рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВред
  • .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдорд╣рдВрдЧрд╛ рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ Microsoft рдХреА рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЯреАрдореЗрдВ рднреА рдЗрд╕рд╕реЗ рдЬреВрдЭ рд░рд╣реА рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдФрд╕рдд рдЯреАрдо рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реЛрдЧрд╛? Entity Framework 6 рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рд╕реЗ .NET рдорд╛рдирдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ 3.0 рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЬреЛ рдореИрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХрд╛ рдЧрд▓рдд рдорддрд▓рдм рди рдирд┐рдХрд╛рд▓реЗрдВ: рдореИрдВ рдирдП рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рд▓реЗрдХрд┐рди рдпрд╣ рддрдереНрдп ASP.NET Core рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдерд╛ред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдиреЗ рдЙрдЪрд┐рдд рд▓рд╛рдЧрдд рдХреЗ рд▓рд┐рдП ASP.NET Core рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреА рдорджрдж рдХреАред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ "рдЗрддрдирд╛ рдХрдард┐рди рдирд╣реАрдВ" рдкреНрд░рд╡рд╛рд╕ рдкрде рдХреЗ рдмрд┐рдирд╛ рдХрднреА рднреА рдЗрддрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реЛрддрд╛ред

Microsoft, рдХреНрдпрд╛ 2.1 рд╕рдорд░реНрдерди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛? 2021 рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрд╕рд╛рдзрди / рд╕рдордп рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рдХрдо рд╕реЗ рдХрдо 2022 рддрдХ? рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрд╖ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рджреЗрдЧрд╛, рднрд▓реЗ рд╣реА рджрд░реНрджрдирд╛рдХ рд╣реЛред

рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдХрдИ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЛ рдЕрднреА рддрдХ рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ .Net рдХреЛрд░ рд╕рдВрдЧрддрддрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рд╣реИрдВрдЧ рд╣реЛрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рд╣реИред

FYI рдХрд░реЗрдВ https://github.com/aspnet/AspNetCore/issues/3753#issuecomment -434521855

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

рдЬрдм рдПрдордПрд╕ рдиреЗ 2012 рдореЗрдВ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ 5 рдХреЗ рдИрдУрдПрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рддреЛ рд╡реЗ рдЕрдм рднреА рдЕрдХреНрдЯреВрдмрд░ 2021 рддрдХ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдмрд╛рд╡рдЬреВрдж рдЗрд╕рдХреЗ рдХрд┐ рдЗрд╕реЗ 2015 рдореЗрдВ рдХреНрд░реЛрдо рдФрд░ 2017 рдореЗрдВ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдпрд╣ рдЙрд╕ рддрдХрдиреАрдХ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд┐рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдпрд╣рд╛рдВ рдирд╣реАрдВ рд╣реИ, рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╕рдорд╛рди рдХреЛрдб-рдЖрдзрд╛рд░, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓, рд╕рдХреНрд░рд┐рдп рджреЗрд╡ рдЯреАрдо рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдореМрдЬреВрджрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

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

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

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

MS рдХреЗ рдкрд╛рд╕ "рд╕реНрдерд┐рд░" рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг (рдпрд╛рдиреА ASP.NET Core 2.1 рдкрд░ рдирд┐рдпрдд) рдХреЗ рд░реВрдк рдореЗрдВ ASP.NET Core рдХреЛ FX рдкрд░ рд░рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред .NET рдХреЛрд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ .NET рдбреЗрд╡рд▓рдкрд░ рд╣реЛрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╣рдордиреЗ .NET рдХреЛрд░ <1.x рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдирд┐рд░рдВрддрд░ рдзрд╛рд░рд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рдП рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рддрдм рддрдХ рдерд╛ рдЬрдм рддрдХ .NET рдХреЛрд░ 2.x рд╣рдо рд╕рдХреНрд╖рдо рдереЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдРрдкреНрд╕ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рджреВрд╕рд░реА рддрд░рдл рдореМрдЬреВрджрд╛ ASP.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЕрдкрдиреЗ рдЪреБрдиреЗ рд╣реБрдП рдордВрдЪ рдХреЛ рд╕реНрдерд┐рд░ рдФрд░ рдлрд┐рд░ рдирдП ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдФрд░ рдЙрдирдХреЗ рдореМрдЬреВрджрд╛ рдХреМрд╢рд▓ / рдЬреНрдЮрд╛рди рдХреЛ рдорд┐рдЯрд╛рддреЗ рд╣реБрдП рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрд╛ рд╣реИред FX рдкрд░ ASP.NET Core рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ .NET рдХреЛрд░ рдХреА рдУрд░ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдордВрдЪрди рд░рдгрдиреАрддрд┐ рдХреЛ рдорд╛рд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡реЗ рдЬреЛрдЦрд┐рдо рд╡рд╛рд▓реЗ (рдЖрдХрд╕реНрдорд┐рдХ рд╡рд╛рдкрд╕реА рдХреЗ рдмрд┐рдирд╛) рдПрдХ рдкрд░рд┐рддреНрдпрдХреНрдд рдордВрдЪ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдкреВрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ .NET рдХреЛрд░ (рдПрдХ рдЬреЛрдЦрд┐рдо) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЕрдЧрд░ рдпрд╣ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ) рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ ASP.NET рдХреЛрд░ рджреЗрд╡ рдореЙрдбрд▓ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдЕрд╡рд╕рд░ рдХреЛ рднреА рдорд╛рд░рддрд╛ рд╣реИ рдпрджрд┐ рд╡реЗ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╡реЗ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рд╡реЗ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрд╕реЗ WebForms рдХреЗ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рд╣реЛ - рдЬреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЕрднреА рднреА рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рд╣реИред

рдХрд┐рд╕реА рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛: рд╣рдорд╛рд░реЗ asp.net рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣рдореЗрдВ WCF рд╕реЗрд╡рд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ .net рдврд╛рдВрдЪреЗ рд╕реЗ рдкрд▓рд╛рдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИред рдореИрдВ .net рдХреЛрд░ 3 рдкрд░, рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб wcf рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЦрдмрд░ рдирд╣реАрдВ рджрд┐рдЦрддреАред

@DamianEdwards @davidfowl @natemcmaster рд╣рдо рдПрдХ рд╣реА рдирд╛рд╡ рдореЗрдВ рд╣реИрдВред рдореЗрд░реА рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ рдХрдИ рдЙрддреНрдкрд╛рдж рд╣реИрдВ рдЬреЛ рдПрдПрд╕рдкреА .рдиреЗрдЯ рдХреЛрд░ рдкрд░ред рдиреЗрдЯ рдлреБрд▓ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрдирдХрд╛ рд╕рдорд░реНрдерди 3 рд╕рд╛рд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдзреАрд░реЗ-рдзреАрд░реЗ рд╣рдо рдЪрд╛рд▓реЛрдВ рдореЗрдВ рдмреЗрдЪрддреЗ рд╣реИрдВред .Net core 2.2 рдХреЗ рд▓рд┐рдП LTS рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдирд┐рд░рд░реНрдердХ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ ASP.net рдХреЛрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ ASP .Net рдкрд░ рд╡рд╛рдкрд╕ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдмрд┐рдВрджреБ рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рд░рд╛ рд░рд╣рд╛ рд╣реИ! рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдХрдо рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВрдЧреЗ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╣рдорд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред рдЬрд┐рди рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рдирдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рд░реЛрд▓ рдЖрдЙрдЯ рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рд╛рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред

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

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ .net рдЯреАрдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

@davidfowl https://github.com/aspnet/AspNetCore/issues/3753#issuecomment -434594997

рдУрд╣ рдЕрдЪреНрдЫрд╛ рдпрд╣ рд╕рд┐рд░реНрдл рдЖрдкрдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рд╕реНрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ your

рдХреНрдпрд╛ рдпрд╣ рддрд░реНрдХ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ASP.NET Core рдХреА рдЙрдЪрд┐рдд рд▓реЗрдпрд░рд┐рдВрдЧ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЗ рдЖрдкрдХреЛ рдХреНрдпрд╛ рд░реЛрдХрддрд╛ рд╣реИ?
рддреЛ, рд╣рд╛рдБ, рдХреБрдЫ рд░рдирдЯрд╛рдЗрдо рд╕реБрд╡рд┐рдзрд╛рдПрдБ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕реЗ Span<T> , рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЙрдкрд▓рдмреНрдз рд╣реИ , рдпрд╣ рд╕рд┐рд░реНрдл .Net рдХреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдЙрд╕рд╕реЗ рдирд┐рдкрдЯ рд╕рдХрддреЗ рдереЗред

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

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЛ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ / .Net рд╕реНрдЯреИрдВрдбрд░реНрдб рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдореВрд░реНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЖрдкрдХреЛ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ / .Net рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдореВрд░реНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░, рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдЖрдЗрдЯрдо

  • рдЖрдВрддрд░рд┐рдХ рдЬреАрд╕реА рдкреЙрдЗрдВрдЯрд░реНрд╕; рддреЛ рдПрдХ рд░реЗрдлрд░реА рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдкреИрди рдмрдирд╛рдирд╛: MemoryMarshal.CreateSpan<T>(ref T reference, int length)
  • Utf8String s
  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • рдереНрд░реЗрдбрдкреВрд▓ рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдп рдЖрдЗрдЯрдо
  • рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рд╕реНрдкреИрди рдУрд╡рд░рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, рдЯреЗрдХреНрд╕реНрдЯрд░реАрдбрд░ / рдЯреЗрдХреНрд╕реНрдЯрд╡рд┐рдЯрд░, рд╡реЗрдмрд╕реНрдХреЗрдЯреНрд╕
  • рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ IAsyncDisposable рдЕрдзрд┐рднрд╛рд░: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, TextReader / TextWriter, Webbockets, рдЖрджрд┐ред
  • IAsyncEnumeratorрдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдЕрдзрд┐рднрд╛рд░: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, рдЯреЗрдХреНрд╕реНрдЯрд░реАрдбрд░ / рдЯреЗрдХреНрд╕реНрдЯрд╡рд┐рдЯрд░, рд╡реЗрдмрд╕реЙрдХреЗрдЯреНрд╕ рдЖрджрд┐ред

рдмреЛрдирд╕ рдЖрдЗрдЯрдо

  • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯреНрд░рд┐рдирд┐рдХреНрд╕ (x86, x64, ARM)
  • рдПрд╕реНрдХреЗрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдирдП рдЖрд╡рдВрдЯрди)
  • рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╕реНрдХрд░рдг
  • рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрдзрд╛рд░рдг

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

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

рдпрд╣ рдЕрдВрддрддрдГ netstandard рдХреА рдореМрдд рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдЖрдкрдХреЛ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ / .Net рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдореВрд░реНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░, рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд▓реЗ рдЖрдЗрдЯрдо

  • рдЖрдВрддрд░рд┐рдХ рдЬреАрд╕реА рдкреЙрдЗрдВрдЯрд░реНрд╕; рддреЛ рдПрдХ рд░реЗрдлрд░реА рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдкреИрди рдмрдирд╛рдирд╛: MemoryMarshal.CreateSpan<T>(ref T reference, int length)
  • Utf8String s
  • рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • рдереНрд░реЗрдбрдкреВрд▓ рдХрд╕реНрдЯрдо рдХрд╛рд░реНрдп рдЖрдЗрдЯрдо
  • рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рд╕реНрдкреИрди рдУрд╡рд░рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, рдЯреЗрдХреНрд╕реНрдЯрд░реАрдбрд░ / рдЯреЗрдХреНрд╕реНрдЯрд╡рд┐рдЯрд░, рд╡реЗрдмрд╕реНрдХреЗрдЯреНрд╕
  • рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ IAsyncDisposable рдЕрдзрд┐рднрд╛рд░: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, TextReader / TextWriter, Webbockets, рдЖрджрд┐ред
  • рдЖрдзрд╛рд░ рдкреНрд░рдХрд╛рд░ рдкрд░ IAsyncEnumerator рдЕрдзрд┐рднрд╛рд░: рд╕реНрдЯреНрд░реАрдо, рд╕реЙрдХреЗрдЯреНрд╕, TextReader / TextWriter, WebS рдХреБрд░реНрд╕рд┐рдпрд╛рдВ, рдЖрджрд┐ред

рдмреЛрдирд╕ рдЖрдЗрдЯрдо

  • рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЗрдВрдЯреНрд░рд┐рдирд┐рдХреНрд╕ (x86, x64, ARM)
  • рдПрд╕реНрдХреЗрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдирдП рдЖрд╡рдВрдЯрди)
  • рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╕реНрдХрд░рдг
  • рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрдзрд╛рд░рдг

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

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

рдЙрд╕реА рд╕рдордп, Microsoft .NET рдорд╛рдирдХ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдлреЙрд░рд╡рд░реНрдб рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╣рдореЗрд╢рд╛ рдЕрд╕рдВрдЧрдд рд╣реИред рдЕрдиреНрдпрдерд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА - рдмрд╕ netstandard30 рдпрд╛ netstandard40 рдФрд░ рдбреНрд░реЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВ; рдФрд░ рдЙрди рдирдП рдорд╛рдирдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ .NET рдХреЛрд░ рд▓рдХреНрд╖реНрдп рд░рдЦреЗрдВред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рдЖрджрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдПрдХ рдХреЛрдиреЗ рдореЗрдВ рдЦреБрдж рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкреЗрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

рдЙрд╕реА рд╕рдордп, Microsoft .NET рдорд╛рдирдХ рдХреЗ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдлреЙрд░рд╡рд░реНрдб рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╣рдореЗрд╢рд╛ рдЕрд╕рдВрдЧрдд рд╣реИред

рдпрд╣ рдирд╛рд╕рдордЭ; .NET рдорд╛рдирдХ 2.1 рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ .NET рдорд╛рдирдХ 2.0 рдкрд░ Span рдУрд╡рд░рд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдЬреЛ рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

.NET рдорд╛рдирдХ рдЕрднреА рднреА рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред

рдЕрдиреНрдпрдерд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА - рдмрд╕ netstandard30 рдпрд╛ netstandard40 рдФрд░ рдбреНрд░реЙрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рд╛рдПрдВ; рдФрд░ рдЙрди рдирдП рдорд╛рдирдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ .NET рдХреЛрд░ рд▓рдХреНрд╖реНрдп рд░рдЦреЗрдВред

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

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

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

рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 1 рдФрд░ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 (рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░рдг) рдХреЗ рдмреАрдЪ рдХреБрдЫ рдХреЛрд░ 2.1 рдПрдкрд┐рд╕ рдмрджрд▓ рдЧрдП; рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреЛрд░ рдПрдХреНрд╕ рдореЗрдВ рдХреМрди рд╕реА рдПрдкреНрд╕ рдирдИ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд░рд┐рд▓реАрдЬ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕реЗрдЯ рдкрд░ рдкрддреНрдерд░ рд▓рдЧрд╛ рд╣реБрдЖ рд╣реИред рдлрд┐рд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреМрди рд╕рд╛ рд╕рд╣реА рд╣реИ рдЬреЛ рд╕рднреА рд░рдирдЯрд╛рдЗрдореНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕реЗрдЯ рд╣реИ (рдпрд╛ рдкреАрдЫреЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП)ред

.NET рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдорд╛рдирдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╣реИ рдЬрдм 2 рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдорд╛рдирдХ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рдореВрд▓ рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ ASP.NET Core рдЙрд╕ рдПрдкреАрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдПрдХ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВ); рдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рдПрдкреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг .NET .NET рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдореМрдХрд╛ рд╣реИ? (рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕рдХреА рдорд╛рдирдХ .NET рдорд╛рдирдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣реА рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ .NET рдХреЛрд░ рдХреЗ рдкреАрдЫреЗ 1 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВред 1 рдХрд╛ рдирдореВрдирд╛ рдЖрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

рдпрджрд┐ ASP.NET рдХреЛрд░ рдПрдкрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ; рддрдм рдПрдкрд┐рд╕ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЕрдЪреНрдЫреЗ рдПрдкрд┐рд╕ рд╣реИрдВ; рдпрджрд┐ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдмреЗрд╣рддрд░ рдПрдкрд┐рд╕ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ ASP.NET Core рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╡реЗ рдЕрдЪреНрдЫреЗ рдПрдкрд┐рд╕ рд╣реИрдВ, рдЬрдм рд╡реЗ .NET рдорд╛рдирдХ рдЙрдореНрдореАрджрд╡рд╛рд░ рдмрди рдЬрд╛рддреЗ рд╣реИрдВ, рддрдм рднреА рд╡реЗ рдХрд╛рдлреА рдЕрдЬреНрдЮрд╛рдд рд╣реИрдВред

рдХреЛрдИ рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП CLR рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

.NET .NET рдкрд╛рд░рдВрдкрд░рд┐рдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд░реНрдХрд▓реЛрдб (WinForms рдФрд░ WPF рд╕рд╣рд┐рдд) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдХреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ CLR рдХрд╛ рдкреБрдирд░реБрджреНрдзрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЯрд┐рдХрд╛рдК, рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдмреВрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдпрд╣ рдирд╛рд╕рдордЭ; .NET рдорд╛рдирдХ 2.1 рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ .NET рдорд╛рдирдХ 2.0 рдХреЗ рдКрдкрд░ 3104 рдирдП рдПрдкрд┐рд╕ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдмреЗрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рд╕реНрдкреИрди рдУрд╡рд░рд▓реЛрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдЬреЛ рдЗрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4.8 рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4.9 рд╢рд╛рдорд┐рд▓ рд╣реИрдВ?

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

.NET .NET рдкрд╛рд░рдВрдкрд░рд┐рдХ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд░реНрдХрд▓реЛрдб (WinForms рдФрд░ WPF рд╕рд╣рд┐рдд) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдХреЗ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ CLR рдХрд╛ рдкреБрдирд░реБрджреНрдзрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рдЯрд┐рдХрд╛рдК, рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдмреВрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдФрд░ рдмреИрдХрд╡рд░реНрдб рдкреНрд░реВрдл рдирд╣реАрдВред рдЬрд┐рддрдирд╛ Microsoft рдиреЗ .NET Core рдкрд░ рдЪрд▓ рд░рд╣реЗ Paint.Net рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдпрд╛, рдореИрдВ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ .NET Core рдкрд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддрд╛, рдФрд░ рди рд╣реА рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЛред

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

рдпрд╣ рднреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ ASP.NET рдХреЛрд░ рдХреЗ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд▓реЛрдЧ рдереЛрдбрд╝рд╛ рдЦреБрд╢ рд╣реЛрдВрдЧреЗред

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

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

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

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ ASP.NET Core 3.0 рдХреЗрд╡рд▓ .NET Core 3.0 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд╛рдж рдХреА рддрд╛рд░реАрдЦ рдореЗрдВ рдЬрдм рдЙрдирдХрд╛ .NET рдорд╛рдирдХ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдкрд┐рд╕ рдерд╛; ASP.NET Core 3.x рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдереЗред .NET рдорд╛рдирдХ рднреА рдереЗ (рднрд▓реЗ рд╣реА ASP.NET Core 4.0 рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реЛ); рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛?

@ рдпрд╛рдХреЛрд╡-рдЬ

рдПрдХ рдзреАрдореА-рдЪрд▓рддреА-рдЪрд▓рддреА рдПрд▓рдЯреАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдЬреЛ .NET рдорд╛рдирдХ рд╕реЗ рдмрдВрдзрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ; рдЬреЛ рдЕрдВрддрддрдГ рдкреБрд░рд╛рдиреЗ рдмреНрд▓реАрдбрд┐рдВрдЧ-рдПрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ рдкреАрдЫреЗ рд░рд╣рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЖрдк рд╣рдореЗрд╢рд╛ ASP.NET Core 2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ @DamianEdwards рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рд╡рд╣ рд╕рдорд░реНрдерди 10 рд╕рд╛рд▓ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЖрдВрдд рдореБрдЭреЗ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реА рд╣реИрдВ рддрдм рддрдХ рд▓реЛрдЧ рдЙрди рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдзреАрдореА рдЯреНрд░реЗрди рдкрд░ рднреА), рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореИрдВ рдЗрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ ...

рдЖрдк рд╣рдореЗрд╢рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде ASP.NET Core 2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдХреГрдкрдпрд╛ рд╕рдореБрджрд╛рдп рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рди рдХрд░реЗрдВ !!
(рд╡реЛрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХреНрдпрд╛ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ asp.net core 2.1 рдореЗрдВ 1/3 рдбреЗрд╡рд▓рдкрд░ рд░рд╣реЗрдВ? рдпрд╛ 2/3 рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬреЛ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ 2 рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ?

@benaadams

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ ASP.NET Core 3.0 рдХреЗрд╡рд▓ .NET Core 3.0 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рд╣реИ; рд▓реЗрдХрд┐рди рдХреБрдЫ рдмрд╛рдж рдХреА рддрд╛рд░реАрдЦ рдореЗрдВ рдЬрдм рдЙрдирдХрд╛ .NET рдорд╛рдирдХ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдкрд┐рд╕ рдерд╛; ASP.NET Core 3.x рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдереЗред .NET рдорд╛рдирдХ рднреА рдереЗ (рднрд▓реЗ рд╣реА ASP.NET Core 4.0 рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реЛ); рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛?

рдпрдХреАрдирдиред

@davidfowl

рдЖрдк рд╣рдореЗрд╢рд╛ ASP.NET Core 2.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ @DamianEdwards рдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рд╡рд╣ рд╕рдорд░реНрдерди 10 рд╕рд╛рд▓ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдпрд╣рд╛рдБ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╕рдВрджреЗрд╢ рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ:

  1. 2.1, рдкреБрд░рд╛рдиреЗ рдПрд▓рдЯреАрдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛ рдареАрдХ рд╣реИ
  2. ASP.NET Core рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдо .NET рдХреЛрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ .NET рдорд╛рдирдХ рдХреЗ рдмреАрдЪ рдПрдХ рд░рд┐рд▓реАрдЬрд╝ рдЪрдХреНрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (2) рдмрд╣реБрдд рднреНрд░рдо рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдкреАрдЫреЗ рдЫреВрдЯ рдЬрд╛рдиреЗ рдХрд╛ рдбрд░ рд╣реИред

@ John0King

(рд╡реЛрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдХреНрдпрд╛ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ asp.net core 2.1 рдореЗрдВ 1/3 рдбреЗрд╡рд▓рдкрд░ рд░рд╣реЗрдВ? рдпрд╛ 2/3 рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬреЛ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ 2 рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ?

рдореИрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХреЛрдВ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдпрд╣ рддрдп рдХрд░реЗрдВ рдХрд┐ рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ рдЬреЛ рд╡реЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд▓рдХреНрд╖реНрдп рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡реЗ рдЖрдЬ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреБрдЫ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ ASP.NET Core 1.x рдФрд░ 2.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреБрдЫ рдХреЗрд╡рд▓ 2.x рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдИ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

@ рдпрд╛рдХреЛрд╡-рдЬ

рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╕рдВрджреЗрд╢ рдХреНрдпрд╛ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди 2.1 рдПрд▓рдЯреАрдПрд╕ рд╣реИ рдФрд░ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ 3 рд╕рд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИред рдпрд╣ рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рд╣реИ рдпрд╣ рд╡рд╣реА рд╕рдВрджреЗрд╢ рд╣реИ рдЬреЛ рд╣рдордиреЗ рд╢реБрд░реВ рд╕реЗ рд▓рд┐рдпрд╛ рд╣реИред

ASP.NET Core рдЗрддрдиреА рддреЗрдЬрд╝реА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╣рдо .NET рдХреЛрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ .NET рдорд╛рдирдХ рдХреЗ рдмреАрдЪ рдПрдХ рд░рд┐рд▓реАрдЬрд╝ рдЪрдХреНрд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

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

рдПрдордПрд╕ рдЯреАрдо рд╕реЗ рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛?

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

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ .net рдЯреАрдо рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

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

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

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

@davidfowl

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рднрд▓реЗ рд╣реА рд╡рд╣ рд╕рдорд░реНрдерди 10 рд╕рд╛рд▓ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

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

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

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

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

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рддрдм рдХреНрдпрд╛ рдкреВрдЫрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рдирдЪрдХреНрд░ 2.1 рдХреЗ рдмрд╛рдж рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ LTS рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдПрдХ рдРрдк рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ .NET рдХреЛрд░ рдпрд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рддреЛ рдЖрдкрдХреЛ "рдЕрд╕рдорд░реНрдерд┐рдд" рд╣реЛрдиреЗ рддрдХ 3 рд╕рд╛рд▓ рд╣реЛрдВрдЧреЗред рдореБрдЭреЗ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рд╕рдорд░реНрдерди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдкрдХреЗ рдиреАрдЪреЗ рд╕реЗ рдХреИрд╕реЗ рдЧрд▓реАрдЪрд╛ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЕрдкрдбреЗрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рддрдм рдХреНрдпрд╛ рдкреВрдЫрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рдереНрд░реЗрдб MS рд╕реЗ рдХрдорд┐рдЯрдореЗрдВрдЯ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрддрд░реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реИ: рдЗрд╕реЗ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд░рд╣реЗрдВ, рдЗрд╕реЗ "рдзреАрдореА рдЯреНрд░реЗрди" рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ, ASP.NET Core 2.1 рдХреЛ рди рдЫреЛрдбрд╝реЗрдВ рдФрд░ WebForms рдХреЗ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ ред рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЗрд╕реЗ ASP.NET Core рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдКрдкрд░ рдХреА рдХреЛрдИ рднреА рдЪреАрдЬрд╝ рдЬреЛ рдЕрдзрд┐рдХ рдмреЗрд╣рддрд░ рд╣реЛрдЧреА) рдЬреЛ .NET .NET рдХреЛ рдХреЗрд╡рд▓ v3 + рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд▓реЗрдЧрд╛ рдЬрдмрдХрд┐ рдореМрдЬреВрджрд╛ .NET рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдПрдлрдПрдХреНрд╕ рдирд┐рд╡реЗрд╢ред

рдЕрдм рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ 2.1 .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдЕрдВрддрд┐рдо LTS рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ

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

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

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

рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рд░ рдХреЛрдИ .NET рдХреЛрд░ рдкрд░ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди .NET FX рдореЗрдВ рдХрд╛рдлреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдореМрдЬреВрдж рд╣реИ рдЬреЛ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рд╕рд╛рде рдЕрд╡рдореВрд▓реНрдпрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

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

рдРрд╕реЗ рдХрдИ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ ASP.NET рдХреЗ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗ (рдЬреЛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрджреЗрд╢ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╣реИ)ред

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

рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдгрдпреЛрдВ рдХреЗ рд╕рд╛рде .NET рдорд╛рдирдХ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЕрдм рддрдХ рд╣рдо .NET рдХреЛрд░ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ рдЬреЛ рдЕрднреА рддрдХ рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

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

рдлрд┐рд░ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдлреИрд╕рд▓реЗ рд▓реЗрдХрд░ рдЖрддреЗ рд╣реИрдВред

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

@davidfowl рдореИрдВ рдЖрдкрдХреЛ .NET рдХреЛрд░ - WCF (рдХрдИ рдореМрдЬреВрджрд╛ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ, рдХреЗ 2 рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рдЙрдард╛рдпрд╛ рд╣реИ), рдФрд░ .NET рдХреЛрд░ / NET рдореЗрдВ Adomd рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдХрдореА рд╣реИред рдорд╛рдирдХ (рдЬреЛ SSAS рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдРрдкреНрд╕ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ SQL https://feedback.azure.com/forums/908035-sql-server/suggestions/35508349-adomd-core рдкрд░ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдХреБрдЫ рдЕрдиреНрдп (winforms) .net рдХреЛрд░ 3 рд╕рдВрдЧрддрддрд╛ рдкреИрдХ (рдпрд╛!) рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП - рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@mythz

рдпрд╣ рдереНрд░реЗрдб MS рд╕реЗ рдХрдорд┐рдЯрдореЗрдВрдЯ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрддрд░реЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реИ: рдЗрд╕реЗ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд░рд╣реЗрдВ, рдЗрд╕реЗ "рдзреАрдореА рдЯреНрд░реЗрди" рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ, ASP.NET Core 2.1 рдХреЛ рди рдЫреЛрдбрд╝реЗрдВ рдФрд░ WebForms рдХреЗ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдВ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ ред рдореЗрд░реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЗрд╕реЗ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ .NET .NET рдХреЗрд╡рд▓ v3 + рдХреЛ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рд░рдЦреЗрдЧрд╛, рдЬрдмрдХрд┐ рдореМрдЬреВрджрд╛ .NET FX рдирд┐рд╡реЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред

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

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

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

@pjmlp

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ .NET рдХреЛ рдорд╛рд░рддрд╛ рд╣реИред .NET рдорд╛рдирдХ ASP.NET рдХреЛрд░ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИред рдпрд╣ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдЬреИрд╕реЗ Microsoft.Extensions *) рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдорд░реНрдерди .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдЕрдм рддрдХ рд╣рдо .NET рдХреЛрд░ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ рдЬреЛ рдЕрднреА рддрдХ рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХреМрди рд╕рд╛? рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрднреА .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ?

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

рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдФрд░ .NET рдХреЛрд░ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрдкрдВрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЯрди рджреЗрдЦреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ Microsoft рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЬреНрд╡рд╛рд░ рдЙрд╕ рдкрд░ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдХреБрдЫ рдХрд╛рд░рдг .NET рдХреЛрд░ 1.0 рдкрд░ рдореМрдЬреВрдж API рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓рд╛рдкрддрд╛ рд╕реЗрдЯ рдХреЗ рдХрд╛рд░рдг рдереЗред 2.0 рдФрд░ 2.1 рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдкреЛрд░реНрдЯ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдмрд╣реБрдд рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдХреЛрд░ / рдорд╛рдирдХ рдкрд░ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦрд╛ рд╣реИред

@voltcode рдареЛрд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдЬ рдХреЗ рд╕рдордп (3 рд╡рд░реНрд╖ рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ) рд╣рдо .NET рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЧрддрддрд╛ рдореБрджреНрджреЛрдВ рд╕реЗ рджреВрд░ рдЪрд▓реЗ рдЬрд╛рдПрдВрдЧреЗ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рд╣реЛрдВрдЧреЗред

@davidfowl

....

рдЕрдм рддрдХ рд╣рдо .NET рдХреЛрд░ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдерд░реНрдб рдкрд╛рд░реНрдЯреА рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ рдЬреЛ рдЕрднреА рддрдХ рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдХреМрди рд╕рд╛? рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдЙрди рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХрднреА .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ?

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ ODP.NET рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдУрд░реЗрдХрд▓ рдХреЛрд░ рдореЗрдВ 100% рдбреНрд░рд╛рдЗрд╡рд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

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

рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдФрд░ .NET рдХреЛрд░ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЕрдкрдВрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЯрди рджреЗрдЦреЗ рд╣реИрдВ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ Microsoft рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЬреНрд╡рд╛рд░ рдЙрд╕ рдкрд░ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдХреБрдЫ рдХрд╛рд░рдг .NET рдХреЛрд░ 1.0 рдкрд░ рдореМрдЬреВрдж API рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓рд╛рдкрддрд╛ рд╕реЗрдЯ рдХреЗ рдХрд╛рд░рдг рдереЗред 2.0 рдФрд░ 2.1 рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдкреЛрд░реНрдЯ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рд╕реЗрдЯ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдмрд╣реБрдд рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд┐рдирд╛ рдХреЛрд░ / рдорд╛рдирдХ рдкрд░ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рджреЗрдЦрд╛ рд╣реИред

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

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

рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдПрдХ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдвреЗрд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдЯрди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдФрд╕рдд рдЙрджреНрдпрдо рдРрдк рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рди рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдореБрджреНрджрд╛ рдПрдЪрдПрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЙрднрд░рд╛ред рдЖрдк рд▓реЛрдЧ (@MSFT) рд╡рд╣рд╛рдВ рднреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреЗрд╡рд▓ 1hr рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 50+ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВред

@davidfowl

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ .NET рдХреЛ рдорд╛рд░рддрд╛ рд╣реИред .NET рдорд╛рдирдХ ASP.NET рдХреЛрд░ рд╕реЗ рдмрдбрд╝рд╛ рд╣реИред рдпрд╣ рдкреБрди: рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдЭрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп (рдЬреИрд╕реЗ Microsoft.Extensions *) рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕рдорд░реНрдерди .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ ASP.NET Core рдХреНрдпрд╛ рд╣реИ рдЕрдЧрд░ рджреЛрдмрд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдФрд░ рддреЗрдЬ рд╣реЛрдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ .NET рдорд╛рдирдХ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рдВрджреЗрд╢ рд╣реИред рдХреНрдпрд╛ Newtonsoft.Json рдХреЛ .NET Core 3 рдкрд░ рдХреЗрд╡рд▓ рддрднреА рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд╕рдХреЗ? рдСрдЯреЛрдлреЛрдХ рдЪрд╛рд╣рд┐рдП?

рдореБрдЭреЗ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рд╕рдордЭ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреЗ рдмрд╛рдж рд╕реЗ рддрд░реНрдХреЛрдВ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдмрд╣реБрдд рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рд╣реИ! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗ ...

рдореИрдВ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рджреВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реА рджреБрдХрд╛рди рдЗрд╕ рд╕рдордп рдХреИрд╕реЗ рджрд┐рдЦрддреА рд╣реИ:

AspNetCore рд╕реНрд╡-рд╣реЛрд╕реНрдЯрд┐рдВрдЧ (http.sys) рд╡реЗрдм рдПрдкреАрдЖрдИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рд╕реНрдерд┐рд░ рд╡реЗрдм рд╕рд╛рдордЧреНрд░реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕реНрдЯреИрдХ рдХреЗ рд▓рд┐рдП рдЕрджреНрднреБрдд рд░рд╣рд╛ рд╣реИред рд╣рдо рдиреИрдиреНрд╕реА рд╕реЗ рдЖрдП рдереЗ рдЬреЛ рдареЛрд╕ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рднреА рдХрдИ рдЦрд╛рдорд┐рдпрд╛рдВ рдереАрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ AspNetCore рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдЖрдЬ, рд╣рдо рдЕрдкрдиреЗ рд╣рд░ рдХреЛрдбрдмреЗрд╕ рдХреЛ 2.x рдкрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╣рдо рдПрдХ рд╢реБрджреНрдз .NET рдХреЛрд░ рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди, рдРрд╕реА рдХрдИ рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдордиреЗ AspNetCore рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ System.DirectoryServices рдФрд░ System.Drawing рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВред рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ, рд╣рдо .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рд╣рдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗрдм рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рддрдХрдиреАрдХ рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╕рд╛рде рдФрд░ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реЗрдм рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рдо рд╕рдВрднрд╡рддрдГ рдЕрдкрдиреА рдмрд╛рдХреА рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ AspNetCore рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреЛрдиреЛрдВ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдХреБрдЫ рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рдбрд╝рддрд╛рд▓ рдХрд░реЗрдВрдЧреЗред

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

рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдПрдХ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдвреЗрд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдиреАрддрд┐ рд╣реИред рдЬрд╛рд╡рд╛ рдПрдХ рд╕рдорд╛рди LTS рдореЙрдбрд▓ (https://www.oracle.com/technetwork/java/javase/eol-135779.html) рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдЯрди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдФрд╕рдд рдЙрджреНрдпрдо рдРрдк рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рди рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@bencyoung

рдпрд╣ рдПрдХ рдврд╛рдВрдЪрд╛ рд╣реИ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВред рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реЗ рд╕рдореВрд╣ рд╕реЗ рдмрдирд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ ASP.NET Core рдХреНрдпрд╛ рд╣реИ рдЕрдЧрд░ рджреЛрдмрд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЭрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзреБрдирд┐рдХ рдФрд░ рддреЗрдЬ рд╣реЛрдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ .NET рдорд╛рдирдХ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рдВрджреЗрд╢ рд╣реИред рдХреНрдпрд╛ Newtonsoft.Json рдХреЛ .NET Core 3 рдкрд░ рдХреЗрд╡рд▓ рддрднреА рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬ рдЧрддрд┐ рд╕реЗ рдЪрд▓ рд╕рдХреЗ? рдСрдЯреЛрдлреЛрдХ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рджреЗрдЦ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 97% рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рдирд╣реАрдВ рд╣рдЯрд╛рдПрдВрдЧреЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдЧреНрд░рд╛рд╣рдХ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗред рдмрд╛рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ Microsoft.Extensions рд░рдЦрд╛ред * .NET рдорд╛рдирдХ 2.0 рдкрд░ред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдлрд╝рд░реНрдЬрд╝реА рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

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

@robkeimig

рд▓реЗрдХрд┐рди, рдРрд╕реА рдХрдИ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдордиреЗ AspNetCore рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ System.DirectoryServices рдФрд░ System.Dading рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ

рдЬреЛ .NET рдХреЛрд░ https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack рдкрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреИрдХреНрдЯ рдкреИрдХ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ

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

рдЕрдЧрд░ рд╕рдорд░реНрдерди рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдХреНрдпрд╛ рдпрд╣ рднреА рд╣реЛрддрд╛?

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдм рд╣рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рдЕрд╕рдорд░реНрдерд┐рдд рддрдХрдиреАрдХреЛрдВ (AppDomains, Remoting, рдЖрджрд┐) рдХреЛ рдкрд╣рд▓реЗ рдЯреНрд░рд┐рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡рд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдпрд╛ рдмрд╛рдж рдХреЗ рдЪрд░рдг рдореЗрдВ рдЙрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред

рдЖрдк рдкрд╣рд▓реЗ 2.1 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

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

рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ 3 рд╕рд╛рд▓ рдХреА рд╕рдорд░реНрдерди рд╕реАрдорд╛ рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирдХреЗ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗред

рдЬрд╝рд░реВрд░, рдЗрд╕реАрд▓рд┐рдП рд╣рдо @DamianEdwards рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреА рдкреЗрд╢рдХрд╢ рдХрд░реЗрдВрдЧреЗред

рдмрд╕ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдирд┐рд░реНрдгрдп рдХрд┐рддрдирд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ - рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреНрдпрд╛ рдпрд╣ рдиреЗрдЯрд╕реНрдЯреНрд░реЗрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдХреНрдпрд╛ рд╣рдореЗрдВ рднреА рдпрд╣реА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП? рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рдЕрдЧрд▓реА рдмрдбрд╝реА рдЪреАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред Github.com/aspnet рд╕реЗ рдФрд░ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ netstandard рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЦреЛрджреЗрдЧрд╛ рдФрд░ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдЧрд╛? MSFT рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ, рд▓реЗрдХрд┐рди рдПрд╕реНрдкрдиреЗрдЯ рд░реЗрдкреЛ рдХреЗ рдмрд╛рд╣рд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдПрд╕реНрдкреЗрдиреЗрдЯрдХреЛрд░ рдХреЗ рднрд╛рдЧреНрдп рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдЧрд╛?

@davidfowl

рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдПрдХ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдвреЗрд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдиреАрддрд┐ рд╣реИред рдЬрд╛рд╡рд╛ рдПрдХ рд╕рдорд╛рди LTS рдореЙрдбрд▓ (https://www.oracle.com/technetwork/java/javase/eol-135779.html) рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред

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

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

рдЕрдм рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдмрд╛рдж рдореЗрдВ рдмрд╣реБрдд рджрд░реНрдж рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдмрд╣реБрдд рд╕рд╛рд░реА рдкрд░рд╕реНрдкрд░ рдЪрд┐рдВрддрд╛рдПрдБ рд╣реИрдВред рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ ASP.Net рдХреЛрд░ рдХрднреА рднреА рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереАред рдЕрддреАрдд рдореЗрдВ ASP.Net Core рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ Microsoft рдХрд╛ рд╕рдВрджреЗрд╢ рдЙрд╕ рд╕реБрдкрд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

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

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

рдЗрд╕ рдмрд╣реБрдд рд╕реВрддреНрд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ Microsoft .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛ тАЛтАЛрд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдо рдФрд░ рдХрдо рд╡рд┐рдХрд╛рд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред

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

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

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

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

@davidfowl

рд▓реЗрдХрд┐рди, рдРрд╕реА рдХрдИ рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдордиреЗ AspNetCore рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ System.DirectoryServices рдФрд░ System.Dading рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВ

рдЬреЛ .NET рдХреЛрд░ https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack рдкрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЙрдореНрдкреИрдХреНрдЯ рдкреИрдХ рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВ

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

рдЕрдЧрд░ рд╕рдорд░реНрдерди рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдХреНрдпрд╛ рдпрд╣ рднреА рд╣реЛрддрд╛?

рд╕рдорд░реНрдерди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ - рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ 20x рдореЗрдВ 2.x рдХрд╛ LTS рд╡рд╛рдЬрд┐рдм рд╣реИ, рдЕрдиреНрдп рд╕рднреА рдмрд╛рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЬреЛ рдЗрд╕ рджреВрд░рдЧрд╛рдореА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЕрдм рдореИрдВ рдЬреЛ рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдореЗрдВ рдПрдХ рдмрд╛рд░ .NET .NET рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ (w / рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ) рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХрд╛ рдореМрдХрд╛ рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж, AspNetCore 3.x рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдорд╣рд╕реВрд╕ рд╣реЛрдЧреАред

рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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

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

рдЕрддреНрдпрдВрдд рдкрд░рд┐рдкрдХреНрд╡ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╣реИ рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ System.Drawing, GDI рдФрд░ рдХрднреА-рдХрднреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА (!) рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдпреЗ рдЕрдм рдХреЗрд╡рд▓ 2.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХреЗрд╡рд▓ рддреАрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реЛрдВрдЧреЗ, рддреЛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдЙрджреНрдпрдореЛрдВ рдореЗрдВ рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИред

.NET рдХреЛрд░ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдЪрдХреНрд░ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред

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

@davidfowl

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

рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдЪ рдирд╣реАрдВ рд╣реИред ASP.NET Core рдкрд░ рд╕рдВрджреЗрд╢ рд╣рдореЗрд╢рд╛ рдпрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ .NET рдХреЛрд░ рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рджреЛрдиреЛрдВ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ .NET рдХреЛрд░ рдХреА рд╢реБрд░реБрдЖрддреА рдШреЛрд╖рдгрд╛рдУрдВ рдореЗрдВ ASP.NET Core (рдлрд┐рд░ ASP.NET 5) рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИред

.NET рдорд╛рдирдХ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд "ASP.NET рдХреЛрд░ рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИред"

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

рдЗрд╕реЗ ASP.NET Core рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ

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

рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд LTS рд╕рдорд░реНрдерди рдЖрддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡реЗрджрди рдЗрди 6 рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рднреА .NET рдХреЛрд░ рдореЗрдВ рдХрднреА рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ [тАж]

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

@pjmlp

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

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

@KevinCathcart

рдЗрд╕ рдмрд╣реБрдд рд╕реВрддреНрд░ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ Microsoft .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛ тАЛтАЛрд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рд╕рдордп рдХреЗ рд╕рд╛рде рдХрдо рдФрд░ рдХрдо рд╡рд┐рдХрд╛рд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред

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

Https://blogs.msdn.microsoft.com/dotnet/2018/10/04/update-on-net-core-3-0-and-net-framework-4-8/ рджреЗрдЦреЗрдВ

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

рд╣рд╛рдБ, рдпрд╣ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЧрдд рд╣реИред

рдЕрддреНрдпрдВрдд рдкрд░рд┐рдкрдХреНрд╡ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рд╣реИ рдЬреЛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ System.Drawing, GDI рдФрд░ рдХрднреА-рдХрднреА рд░рдЬрд┐рд╕реНрдЯреНрд░реА (!) рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд░рдЦрддрд╛ рд╣реИред рдпрджрд┐ рдпреЗ рдЕрдм рдХреЗрд╡рд▓ 2.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ рдФрд░ рдХреЗрд╡рд▓ рддреАрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рдЙрджреНрдпрдореЛрдВ рдореЗрдВ рдХреЛрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рд╕реЗ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИ

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХрдИ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рд╣рдордиреЗ .NET рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдВрдХрд▓рд┐рдд рд╕реАрдзреЗ рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ред

@ рдкреЛрдХ рдЖрдк рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рд╣реИрдВ, рдпрд╣ рдореЗрд░реА рдЧрд▓рддреА рдирд╣реАрдВ рдереАред

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

рдореИрдВрдиреЗ 6 рдХреЛ рдмрдирд╛рдпрд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЬрдм рд╣рдо рдЗрд╕реЗ рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗ рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреИрд╕реЗ рд╣реЛрдЧрд╛ред

.NET рдХреЛрд░ рд╣рдореЗрд╢рд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдмрджрд▓рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛ (рдореВрд▓ рд░реВрдк рд╕реЗ рдпрд╣ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 5 рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛), рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЗрддрдирд╛ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдерд╛ рдХрд┐ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдк рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред

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

рд╕рдорд░реНрдерди рдХрд░рдирд╛

@edandersen рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрди рдмрд╛рд╣рд░реА dll рдкрд░
рд╡рд┐рдВрдбреЛрдЬрд╝ рдХрдореНрдкреИрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдкреИрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдФрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реАред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереА? System.Drawing рднреА рдореЛрдиреЛ рдХреЗ libgdiplus рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ * nix рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреНрд▓реЛрдЬреНрдбрдПрдХреНрд╕рдПрдордПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ "рд╣рд╛рд▓ рд╣реА рдореЗрдВ" рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝реА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрднрд░рддрд╛ WCF рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред
.NET рдХреЛрд░ WCF рдХреНрд▓рд╛рдЗрдВрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдирд╣реАрдВ рдХреА рд╣реИ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рддрдиреЗ рдЕрдЪреНрдЫреЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрддреАрдд рдореЗрдВ, рд╣рдо рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдереЗред рд▓реЗрдХрд┐рди рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдХреА рдЬрд╛рд░реА рд╕реВрдЪреА рдореЗрдВ рдереАред рд╕рд░рд▓ рд╕реЗрд╡рд╛рдПрдВ рджреВрд╕рд░реА рдУрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ!
рджреВрд╕рд░реА рдУрд░, .NET рдХреЛрд░ рдореЗрдВ SOAP рд╕реЗрд╡рд╛рдУрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП "рдбреНрд░реЙрдк" рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХ рджреЗрдЧрд╛ (рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ ASP.NET Core рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд ASP.NET рдкреНрд░реЙрдХреНрд╕реА рд╡реЗрдм рдРрдк рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рд╕рд┐рд░реНрдл WCF рд╕реЗрд╡рд╛ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ HTTP / JSON рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ ASP.NET рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдлреЙрд░рд╡рд░реНрдб рдХрд░рддрд╛ рд╣реИред рдмрд╣реБрдд рд╕реБрдВрджрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рддреИрдирд╛рддреА рдЬрдЯрд┐рд▓рддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдПрдХреАрдХрд░рдг рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

@ davidfowl

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

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

рдпрд╣ рдкреВрд░реА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ, .NET рдХреЛрд░, Xamarin, .NET рдорд╛рдирдХ рдЧрд▓рддрд┐рдпрд╛рдБ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП .NET рдЯреАрдореЛрдВ рдХреЗ рдЕрдВрджрд░ WinDev рдмрдирд╛рдо DevTools рдХреЗ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рджрд┐рдиреЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реА рд╣реИред

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

рдпреЗ рдирд┐рд░реНрдгрдп рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдЯреАрдо рдХреА рдУрд░ рд╕реЗ рдЧрд▓рддреА рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рдЬрд▓рд╡рд╛рдпреБ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ!

рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ? рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдирд╡реАрдирддрдо рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рд╢рдиреАрдЧрдиреНрд╕ рдкрд░ Google рдХреЗ рдЦрд┐рд▓рд╛рдл рдЙрдирдХреЗ рдмрд┐рд▓реНрдХреБрд▓ рдкрд╛рдЧрд▓рдкрди рдХреЗ рдореБрдХрджрдореЛрдВ рдХреЗ рдмреАрдЪ, рдУрд░реЗрдХрд▓ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд▓рдЧрд╛рддрд╛рд░ рдПрдХ рдРрд╕реА рдХрдВрдкрдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЙрддреНрдкрд╛рдж рдХреЛ рдорд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ!

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

@masonwheeler

рд╣рдо рджреЛрдиреЛрдВ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдУрд░реЗрдХрд▓ рдХреЗ рдХрд╛рдо рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ
рдЬрд╛рд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдУрд░реЗрдХрд▓ рдХреЛ рдШреГрдгрд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ
рдЙрдирдХреЗ рдЦрд┐рд▓рд╛рдл рдирдлрд░рдд рднрд░реЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рдЦреЛ рдЧрдПред

Android рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВ Google рдХреЗ рд░реВрдк рдореЗрдВ рдореБрдХрджрдореЗ рдХрд╛ рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВ
рдЬрд╛рд╡рд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдХрд╛рдВрдЯрд╛ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЬрд╣рд╛рдВ Microsoft рд╡рд┐рдлрд▓ рд░рд╣рд╛, рд╡рд╣ рд╕рдлрд▓ рд░рд╣рд╛
J ++ рдХреЗ рд╕рд╛рдеред рдлрд┐рд░ рднреА рдорд╛рд╡реЗрди рд╕реЗрдВрдЯреНрд░рд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЬрд╛рд░ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рджреА рдЬрд╛рддреА рд╣реИред

.NET рдХреЗ рд▓рд┐рдП, рдореИрдВ рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рдмреВрдЯ рд╕реЗ рддрдВрдЧ рдЖ рд░рд╣рд╛ рд╣реВрдВ
рд╣рдореЗрдВ Microsoft рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЛ рдХреИрд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреВрд░реЗ WinRT, UAP, UWP, .NET рдиреЗрдЯрд┐рд╡ рдбреНрд░реЙрдкрд┐рдВрдЧ F #, XNA, Core 1.0 рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ
рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЦрдЯреНрдЯреЗ рдЕрдВрдЧреВрд░ рдФрд░ рдпрд╣ рд╣рд╛рд▓рд┐рдпрд╛ рдирд┐рд░реНрдгрдп рдЪреАрдЬреЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ
рд╕рдордЧреНрд░ред

.NET рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдордВрдЪ рд╣реИ рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдФрд░ рднреА рдЦрд░рд╛рдм рди рдХрд░реЗрдВред

@mythz

рдЕрдм рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ 2.1 .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд╕рдорд░реНрдерд┐рдд рдЕрдВрддрд┐рдо LTS рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ

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

рдпрд╣ рдЙрди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдкреВрд░реА рдЪрд░реНрдЪрд╛ рдореЗрдВ рдирд╣реАрдВ рд╕рдордЭрддрд╛ред рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рд╕реЗ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)?

рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдХреЗ рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рджреЛ рдЪреАрдЬреЗрдВ рд╣реИрдВ:

  • рд╕реБрд░рдХреНрд╖рд╛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ
  • рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдмрдЧрдлрд┐рдХреНрд╕

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

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

рдпрд╣ рд╕рд┐рд░реНрдл рд╕реБрд░рдХреНрд╖рд╛ рдХреАрдбрд╝реЗ рдЦреБрд▓рд╛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИред

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

  • рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЬреЛ .NET рдХреЛрд░ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реИ, рдПрдХ рдХрдо рд╕рдВрднрд╡ рд╡рд┐рдХрд▓реНрдк рдмрди рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдПрдХ рдЕрд╕рдорд░реНрдерд┐рдд рдордВрдЪ рдкрд░ рдлрдВрд╕реЗ рд╣реЛрдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рдпрджрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рд╣реЛрддрд╛ рд╣реИ рдпрд╛ рд╡реЗ рдЖрд╢реНрд░рд┐рддреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдкрд░ рднреА рдмрд╛рдзрд╛ рдбрд╛рд▓рддреЗ рд╣реИрдВред рд╡реЗ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред
    рд▓реЗрдХрд┐рди рдХреМрди рд╕реЗ рдПрдкреАрдЖрдИ рдРрд╕реЗ рд╣реИрдВ рдЬреЛ рдЧрд╛рдпрдм рд╣реИрдВ рдЬреЛ рдЕрдм рдЖрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ + рд╕рдВрдЧрддрддрд╛ рдкреИрдХреЗрдЬ рдкрд░ ASP.NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

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

рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХ рдХреЛ рдЕрдкрдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ netstandard / netcoreapp рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╢рд╛рдпрдж рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ Microsoft nuget.org рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ / рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ NuGet рд╡реЗрдмрдкреЗрдЬ / рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдЧрд╛ рдЬреЛ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд▓рд╛рдЗрдмреНрд░реЗрд░реА .NET рдХреЛрд░ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд┐рд╕реА рднреА рдЕрд╕рдВрдЧрдд API рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

'Company.Example.MyLib' рджрд┐рдЦрд╛рдПрдЧрд╛

  • .NET рдХреЛрд░ 2.1: рдЖрдВрд╢рд┐рдХ рд╕рдорд░реНрдерди (рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ) - рдЬрд╣рд╛рдВ рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ рдПрдкрд┐рд╕ рдХреЛ рд╡рд╣ рдХрд╛рдо рджрд┐рдЦрд╛рдПрдЧреА рдФрд░ рдЬреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ
  • .NET рдХреЛрд░ 3.0:; рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд

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

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

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

@davidfowl @terrajobst рдХреНрдпрд╛ рдпрд╣

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

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

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

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

рдпрджрд┐ рд▓рд╛рдн рдирд┐рд╡реЗрд╢ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдпрд╛рдиреА рдЕрдЧрд░ рдХреЛрдИ рдЕрдиреВрдареА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдмрджрд▓реЗ рдореЗрдВ рдмрдбрд╝рд╛ рдореВрд▓реНрдп рджреЗрддреА рд╣реИрдВ рдпрд╛ рднрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддреА рд╣реИрдВред

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

рдРрд╕реЗ рдХрдИ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ .NET рдХреЛрд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрд▓рд╛рд╕рд┐рдХ ASP.NET рдХреЗ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗ (рдЬреЛ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдВрджреЗрд╢ рдХрд╛ рд╕реБрдЭрд╛рд╡ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╣реИ)ред

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

рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдЬреЛ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ? рдЗрди рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреМрди рд╕реЗ рдПрдкреАрдЖрдИ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдВрдЧреЗред рдпрд╣ рдПрдкреАрдЖрдИ .NET рдХреЛрд░ 3.0 рдпрд╛ .NET рдХреЛрд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

@pjmlp

@davidfowl

рджреВрд╕рд░реЛрдВ рдХреЛ рднреА рдПрдХ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдвреЗрд░ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реНрдЯреИрдХ рдореЗрдВ рд╕рдорд╛рди рд╕рдорд░реНрдерди рдиреАрддрд┐ рд╣реИред рдЬрд╛рд╡рд╛ рдПрдХ рд╕рдорд╛рди LTS рдореЙрдбрд▓ (https://www.oracle.com/technetwork/java/javase/eol-135779.html) рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред

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

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

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

@ TsengSR

рдЬрд╛рд╡рд╛ 9 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ 100% рдЬрд╛рд╡рд╛ 9, 10 рдФрд░ 11 рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ, рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдФрд░ рдХреЛрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

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

@pjmlp

@ TsengSR

рдЬрд╛рд╡рд╛ 9 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ 100% рдЬрд╛рд╡рд╛ 9, 10 рдФрд░ 11 рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ, рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдФрд░ рдХреЛрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдкреВрд░реНрдг рдЧреИрд░-рд╕рдордЭ рд╣реИред

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

рдпрджрд┐ рдЖрдк рдбреНрд░рд╛рдорд╛ рдФрд░ рд╢реНрдЯрд╕реНрдЯреНрд░реЙрдо рд╕реЗ рдЪреВрдХ рдЧрдП рдереЗ, рдЬрдм рдЬрд╛рд╡рд╛ 9 рдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдпрд╣ рдЗрд╕ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереА:
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-May/012673.html

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

рджреВрд╕рд░реА рдмрд╛рдд, рдЬрд╛рд╡рд╛ EE 9 рдХреЛ JAX-WS рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЬрд╛рд╡рд╛ EE 11 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рд▓рдЧрднрдЧ WCF рдХреЗ рд╕рдордХрдХреНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рди рд╣реА рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдЬреЛ рдПрдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ ASP.NET рдХреЛрд░ рд╕реЗ ASP.NET рдХреЛрд░ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реИред .NET рдХреЛрд░ рдкрд░ ASP.NET рдХреЛрд░ (рдпрд╛ ASP.NET рд╕реЗ ASP.NET Core @ .NET рдХреЛрд░)

https://www.oracle.com/corporate/features/understanding-java-9-modules.html

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

рдХреЛрдИ рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдЗрди рдЖрдВрддрд░рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рд╕рднреА рдореЗрдВ sun.* рдиреЗрдорд╕реНрдкреЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ - рдпрд╛ рдЬрд╛рд╡рд╛ 9 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рд╡рд╛рдкрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдпрд╛ рдПрдХ 3 рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЗрд╕ рдПрдкреАрдЖрдИ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЬреИрд╕реЗ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ API рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

@TsengSR

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

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

рджреВрд╕рд░реА рдмрд╛рдд, рдЬрд╛рд╡рд╛ EE 9 рдХреЛ JAX-WS рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдЬрд╛рд╡рд╛ EE 11 рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рд▓рдЧрднрдЧ WCF рдХреЗ рд╕рдордХрдХреНрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдХреЛрдИ рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдЗрди рдЖрдВрддрд░рд┐рдХ APIs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ (рд╕реВрд░рдЬ рдореЗрдВ рд╕рднреА рд╕рд╣рд┐рддред * рдирд╛рдорд╕реНрдерд╛рди рдЬреЛ рдХреБрдЫ рдкреБрд░рд╛рдиреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ - рдпрд╛ рдЬрд╛рд╡рд╛ 9 рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреЗ рд╕рдордп рд╡рд╛рдкрд╕ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдпрд╛ рдЗрд╕ API рдкрд░ рдирд┐рд░реНрднрд░ рдПрдХ 3rd рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрдзреАрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдХреБрдЫ APIs рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рд╡рд┐рд╢рд┐рд╖реНрдЯ API рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ JRE рдпрд╛ Java рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдВрдкреВрд░реНрдгрддрд╛ рдХреА рдирд╣реАрдВред рдЙрди API рд╕реЗ рдирдП, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдФрд░ рдкреНрд░рд▓реЗрдЦрд┐рдд API рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рдЖрдо рддреМрд░ рдкрд░ рдиреНрдпреВрдирддрдо рд╣реЛрддреЗ рд╣реИрдВред

рдФрд░ рдЬрд╛рд╡рд╛ рд╣рдореЗрд╢рд╛ .NET рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЗрдЪреНрдЫреБрдХ рд░рд╣рд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрдм var рдирд╛рдордХ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдЧреИрд░рдХрд╛рдиреВрдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реИред рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдЪрд░ _ рдХрд╛ рдирд╛рдо рджреЗрдирд╛ рдЧреИрд░рдХрд╛рдиреВрдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рддреНрдпрд╛рдЧ / рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реИред C # рдиреЗ рдкрд┐рдЫрдбрд╝реЗ рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рд╕рдВрд░рдХреНрд╖рдг рдХреЗ рдирд╛рдо рдкрд░ рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдЯреАрдХ рд╡рд┐рдкрд░реАрдд рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

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

@TsengSR

рдпрд╣ рдЙрди рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдкреВрд░реА рдЪрд░реНрдЪрд╛ рдореЗрдВ рдирд╣реАрдВ рд╕рдордЭрддрд╛ред рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рд╕реЗ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдПрд▓рдЯреАрдПрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)?

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

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

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

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

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

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ MS рд╣реА рдЕрдкрдбреЗрдЯреЗрдб ASP.Core NuGet рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдкреИрдЪ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкреЗрдбрд╝ рдХреЛ OSS рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣рд╛рдБ рдмрд╣реБрдд рдорджрдж рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ рдЬрдм рддрдХ рдХрд┐ 2.1 PR рдХреЗ рд╡реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддреЗ (рдкреЛрд╕реНрдЯ LTS) рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЬрд╛рдПрдЧреА, рд╕реНрд╡реАрдХрд╛рд░ рдХреА рдЬрд╛рдПрдЧреА рдХрд╛ рд╡рд┐рдореЛрдЪрди рдХрд┐рдпрд╛ред

рдЕрдВрдд рдореЗрдВ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рдЕрдВрддрд┐рдо рдкреНрд░рд╢реНрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ рдЬреЛ рдЕрднреА рднреА рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ:

рдХреНрдпрд╛ рд╣рдо ASP.Core / FX рдкрд░ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ?

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

рдпрджрд┐ ASP.NET Core рдХреЗрд╡рд▓ .NET Core рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдкреВрд░реЗ .NET рдорд╛рдирдХ рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрджрд┐ Microsoft рд╕реНрд╡рдпрдВ (рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдорд╛рдиреНрдп) рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЗрд╕ рдкрд░ рджрд╛рдВрд╡ рдирд╣реАрдВ рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдХреНрдпрд╛ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА, рдмреНрд▓реАрдбрд┐рдВрдЧ-рдПрдЬ .NET рдХреЛрд░ рдХреЗрд╡рд▓ рд▓рд┐рдмрд╛рд╕ рдФрд░ "рд╕рд░рд▓" рд╣реЛрдЧрд╛, рдХрдо рдЙрдиреНрдирдд .NET рд╕реНрдЯреИрдВрдбрд░реНрдб рд▓рд┐рдмрд╛рд╕?

рдпрд╣ рдХрд┐рд╕реА рднреА рдЧреИрд░-рдиреЗрдЯ-рдХреЛрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рдореБрдЭреЗ рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рдФрд░ рдЕрдкрдиреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдирдорд╕реНрддреЗ,
рдореИрдВ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдореЗрдВ рдореВрд▓реНрдп рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ 3 рдореБрдЦреНрдп рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ:
1) netstandard рдПрдХ рджреВрд╕рд░реА рд╢реНрд░реЗрдгреА рдХрд╛ рдирд╛рдЧрд░рд┐рдХ рд╣реЛрдЧрд╛ рдпрджрд┐ Microsoft рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдк рд▓реЛрдЧ dogfood рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдиреНрдп рджреЗрд╡ рд╕реЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдЬ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЗрдЦрдХреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХрд░рдиреА рдкрдбрд╝рддреА рд╣реИ, рдЕрдЧрд░ рдЖрдВрддрд░рд┐рдХ рдкреАрдкреАрдПрд▓ рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдорд░реНрдерди рдореЗрдВ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
2) рдЕрдиреНрдп рд░рдирдЯрд╛рдЗрдореНрд╕ рдореЗрдВ рдПрд╕реНрдкрдиреЗрдЯ рдХреЛрд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдореВрд▓реНрдп рд╣реИред
3) рдкреБрд░рд╛рдиреЗ рд░рдирдЯрд╛рдЗрдореНрд╕ рдореЗрдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рд╡реИрд▓реНрдпреВ рд╣реИ (рдирд┐рд░реНрднрд░рддрд╛ рдЬрд┐рд╕реЗ рдХрднреА рдЫреБрдЖ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛) рдЬрд┐рд╕реЗ рд╣рд▓реНрдХреЗ рдореЗрдВ рдирд╣реАрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдиреЗрдЯрдХреЛрд░ 3.0 рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд░реНрдХрд▓реЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдФрд░ "рдкреАрдкреАрдПрд▓ рдХреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдХреВрджрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛"ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреА рдПрдХ рдЫрд▓рд╛рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╣реА рдЖрд╢рд╛рд╡рд╛рджреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдХреБрдЫ рд▓рд╛рдкрддрд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреА, рдЬреЛ рд╢рд╛рдпрдж рднрд╡рд┐рд╖реНрдп рдореЗрдВ 1-2 рд╕рд╛рд▓ рдореЗрдВ 3.1 / 3.2 рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЬреЛрдбрд╝реА рдЬрд╛рдПрдВрдЧреА ( 2.1 рдХреЗ 3 рдПрд▓рдЯреАрдПрд╕ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм)ред рдЗрд╕ рдмреАрдЪ, рдЬреЛ рджреЗрд╡рддрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг 3.0 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд░реБрджреНрдз рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХрд╛ рдХреЛрдИ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдкреАрдкреАрдПрд▓ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд╣рд┐рддрд╛рд░реНрде рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрд╕реНрдкреЗрдиреЗрдЯ рдХреЛрд░ рдХреЛ рдЖрдк рдиреЗрдЯрд╕реНрдЯреИрдб рдФрд░ рдиреЗрдЯрдХреЛрд░реИрдк рджреЛрдиреЛрдВ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХреЗрдВ рдЬреИрд╕реЗ рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ? .Net рдлреНрд░реЗрдорд╡рд░реНрдХ on рдкрд░ рдЪрд▓ рд░рд╣реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдареАрдХ рд╣реИ

рд░реЛрдЬрд▓рд┐рди рдЕрдм .NETStandard 2.0 -> https://github.com/dotnet/roslyn/pull/30914 рдкрд░ рдЪрд▓рддрд╛ рд╣реИ

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдореБрд╢реНрдХрд┐рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ!

@davidfowl

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рд╕реАрдорд┐рдд рд╡рд┐рдХрд▓реНрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рдореБрджрд╛рдп ASP.Net рдХреЛрд░ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдЗрдбреЗрдВрдЯрд┐рдЯреА рд╕рд░реНрд╡рд░ рдкрд╣рд▓реЗ рд╣реА ASP.Net рдХреЛрд░ рдореЗрдВ рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рд┐рдЧреНрдирд▓рдЖрд░ рдХреЗ

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

рдХреНрдпрд╛ рдПрд▓рдЯреАрдПрд╕ рдкреЙрд▓рд┐рд╕реА рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рд╣реИ? 5 рд╕рд╛рд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╣рд░ 2 рд╕рд╛рд▓ рдореЗрдВ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬ рдХреА рдЙрдмрдВрдЯреВ рдХреА рд░рдгрдиреАрддрд┐ рдЬреИрд╕реА рдХреБрдЫ - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ 6 рдХреЗ рд▓рд┐рдП рдкреВрдЫреВрдВрдЧрд╛ рддрд╛рдХрд┐ рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬ рдХреЛ 3+ рд╕рд╛рд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓ рд╕рдХреЗ, рдЬрдмрдХрд┐ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, .netstandard рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ .netcore 3.0 рдмрд╛рд░ рдЗрд▓рд╛рдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХред
.Netstandard рдХрд╛ рдирд╛рд░рд╛ рд╣реИ "рдЙрди рд╕рднреА рдкрд░ рд╢рд╛рд╕рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп"ред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдХрд╛ рдорддрд▓рдм рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдереЛрдбрд╝рд╛ рд╣реИред

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

рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

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

рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд╛ .NET рдХреЛрд░ 3 рдФрд░ .NET рдорд╛рдирдХ 2.x рджреЛрдиреЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдирдП рдПрдкреАрдЖрдИ рдХреЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдСрдбрд┐рдпрдВрд╕ рдХреЛ рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореЗрд░реА рд╕рдордЭ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд╛ .NET рдХреЛрд░ 3 рдФрд░ .NET рдорд╛рдирдХ 2.x рджреЛрдиреЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдирдП рдПрдкреАрдЖрдИ рдХреЗ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдСрдбрд┐рдпрдВрд╕ рдХреЛ рдЦреЛрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ .NET рдХреЛрд░ рдПрдХ рд╣реА рднреВрдорд┐рдХрд╛ рдХреЛ рднрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред ASP.NET рдХреЛрд░ рдХрд┐рд╕реА рджрд┐рди .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛, рдпрд╣ рдЕрднреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╣реЛрдЧрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ .NET Standard X рдкрд░ рдирд╣реАрдВ рдЪрд▓рдиреЗ рдкрд░ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рджреЗрдЦрддрд╛ рд╣реВрдВред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ xamarin рдпрд╛ рдПрдХрддрд╛ рдкрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП asp.net рдХреЛрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рдФрд░ рд╕реЗрдЯ рд╣реИ рдЬреЛ .NET рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реИред рддреЛрдбрд╝рдХрд░ рд╣рдо .NET рдХреЛрд░ рдФрд░ ASP.NET рдХреЛрд░ рдХреЗ рдмреАрдЪ рд╕рдЦреНрдд рдПрдХреАрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореИрдВ .NET Core 4.5 рд╕реЗ рдбрд░рддрд╛ рд╣реВрдБ рд╣рдо Microsoft.AspNetCore рдирд┐рдВрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ @ DNav 2.0 рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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


рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдЗрд░рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВ:

  • .NET рдХреЛрд░ рдХрдВрд╕реЛрд▓ / рд╡реЗрдм / 3rdparty рдбреЗрд╕реНрдХрдЯреЙрдк (рдорд╛рдирдХ + рд╡реЗрдм рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ) рдХреЗ рд▓рд┐рдП рд╣реИ
  • рдПрдХрддрд╛ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ (рдорд╛рдирдХ + рдЧреЗрдо рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ)
  • Xamarin рдЙрдкрдХрд░рдгреЛрдВ / рдбреЗрд╕реНрдХрдЯреЙрдк (рдорд╛рдирдХ + рдбрд┐рд╡рд╛рдЗрд╕ / рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдкреАрдЖрдИ) рдХреЗ рд▓рд┐рдП рд╣реИ

рд▓реЗрдХрд┐рди рдХреМрди .NET рдорд╛рдирдХ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИ? рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рдХрд╣ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕рд╛рдзрди рд╕реАрдорд┐рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмрд┐рдирд╛ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ (рдЬрд┐рд╕рдореЗрдВ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдПрд▓рдЯреАрдПрд╕ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рджреНрд╡рд╛рд░рд╛ .net рдХреЛрд░ / asp.net рдХреЛрд░ рдЯреАрдо рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рдПрдЧрд╛) рдореБрдЭреЗ рдбрд░ рд╣реИред NET Standard рдЬрд▓реНрджреА рдмрд╛рд╕реА рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдзреНрдпрд╛рди рди рджреЗрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ .NET рдорд╛рдирдХ 2.1 рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдмрд╕ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

.NET рдорд╛рдирдХ 2.1 рдореЗрдВ рдХрдИ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рд╕рд╛рд░реНрдердХ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред .NET рдлреНрд░реЗрдорд╡рд░реНрдХ 4.8 .NET .NET 2.1 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп .NET рдорд╛рдирдХ 2.0 рдкрд░ рд░рд╣реЗрдЧрд╛ред .NET Core 3.0 рдХреЗ рд╕рд╛рде-рд╕рд╛рде Xamarin, рдореЛрдиреЛ рдФрд░ рдпреВрдирд┐рдЯреА рдХреЗ рдЖрдЧрд╛рдореА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ .NET рдорд╛рдирдХ 2.1 рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

https://blogs.msdn.microsoft.com/dotnet/2018/11/05/announcing-net-standard-2-1/

рдЬрд┐рддрдирд╛ рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдирд╛ рд╣реИ рдХрд┐ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ-рдПрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рджреБрдЦрдж рд╣реИ рдХрд┐ рдпрд╣ .NET рдорд╛рдирдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ ASP.NET Core рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ .NET .NET рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдирдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ (рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рднреА рд╕рдмреВрддреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл), рдХрд┐ рдПрдХ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ 5.0 рд╣реЛрдЧрд╛ рдЬреЛ рд▓рдХреНрд╖реНрдп .Net рдорд╛рдирдХ 3.0+ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ 4.x рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рд╣реЛрдЧрд╛ред

рдЕрдВрдд рдореЗрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ (рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рднреА рд╕рдмреВрддреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл), рдХрд┐ рдПрдХ .Net рдлреНрд░реЗрдорд╡рд░реНрдХ 5.0 рд╣реЛрдЧрд╛ рдЬреЛ рд▓рдХреНрд╖реНрдп .Net рдорд╛рдирдХ 3.0+ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ 4.x рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рд╣реЛрдЧрд╛ред

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

рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ .NET рдХреЛрд░ рд╣реИ, рдФрд░ рдпрд╣ рдзрд╛рдЧрд╛ рдЕрд╕реНрдерд╛рдпреА рджрд░реНрдж рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

@terrajobst рдиреЗ рдХрд╣рд╛ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛: рдереНрд░реЗрдб рджреЗрдЦреЗрдВ: https://twitter.com/terrajobst/status/1059525279431815168?s=19

@gulbanana
рд╣рд╛рдВ, рджреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред

  1. рдХреЛрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рд╣реИ ; рдпрд╣ рдПрдХ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдРрд╕реА рдмрд╣реБрдд рд╕рд╛рд░реА рдореМрд▓рд┐рдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдпрд╣ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрдИ, рдЬреИрд╕реЗ рдХрд┐ AppDomains, рд╣рдореЗрдВ рдмрддрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрднреА рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕реНрд╡рд░реНрдЧ рдХреА рдЦрд╛рддрд┐рд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА Reflection.Emit ! рд╕рдВрдХрд▓рдХ рдФрд░ рдХреЛрдб рдЬреЗрдирд░реЗрд╢рди рдЯреВрд▓ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдЪрдореБрдЪ рдкрд╣рд▓реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рднреА рдпрд╣рд╛рдВ рд╣рдо 4 рд╕рд╛рд▓ рдмрд╛рдж рд╣реИрдВ рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рдЗрд╕рд╕реЗ "рдХреЛрд░ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди / .Net рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдиреНрдирдпрди рдХреЗ рд░реВрдк рдореЗрдВ" рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдХреЛрд░ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд░рдирдЯрд╛рдЗрдо, рд╕реАрдПрд▓рдЖрд░ 2.0 рд╢реИрд▓реА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред "рдХреНрдпрд╛ рднрд╛рд╖рд╛ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рд╕реЗ рд╕реАрдПрд▓рдЖрд░ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд▓рд╛рдн рд╣реЛрдЧрд╛?" рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рд╛рдкрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рдореБрджрд╛рдп рд╕реЗ рдПрдХ рдорд╣рд╛рди рд╕реВрдЪреА рд╣реИ рдЬрд┐рд╕реЗ рд▓реЛрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирддреЗ рд╣реИрдВ, рдЬреЛ CLR рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд╕реАрдПрд▓рдЖрд░ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд╕реВрд░рдд рдХреАрдЪрдбрд╝), рдЖрдорддреМрд░ рдкрд░ рд▓рд╛рдкрддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рдХрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВред рдХреЛрд░ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЙрд╕ рд╡рд┐рд╖рдп рдХреЗ рдХрд┐рддрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдХреЛ рд╣рд╛рде рд╕реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рд╣рдо DIM рд╣реЛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ ... рдХреБрдЫ рдФрд░? рдХреБрдЫ рднреА?

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

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

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ASP.NET Core рдФрд░ EF рдПрдХ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкрд░рд╛рд╡рд░реНрддрди рдЙрддреНрд╕рд░реНрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдпрд╣рд╛рдБ рд╡рд┐рд╕реНрддреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рдХрдо рд╕реЗ рдХрдо 2.0 рдХреЗ рдмрд╛рдж рд╕реЗ рд╡рд╣рд╛рдБ рд╣реИ .. iirc рднреА 1.0 DefineDynamicAssembly рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж рд╕рд╛рдорд╛рди рдХрд╛ рдкреВрд░рд╛ рд╕реВрдЯ рдирд╣реАрдВред

рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╡реЗ рд╕реАрдПрд▓рдЖрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝ рд░рд╣реА рд╣реИ? https://github.com/dotnet/coreclr/commits/master
C # 8 рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЗрдЯреЗрдб рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ CLR рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг .NET рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреАред рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реА рдЖрдкрддреНрддрд┐рдпрд╛рдВ рд╕рд┐рд░реНрдл рдкреБрд░рд╛рдиреА рдЬрд╛рдирдХрд╛рд░реА рд▓рдЧрддреА рд╣реИрдВ (рдЬреЛ рдХрд┐ рдХрд╛рдлреА рд╣рдж рддрдХ рд╕рд╣реА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреА рдпреЛрдЬрдирд╛рдПрдВ рдХрдИ рдмрд╛рд░ рддреЗрдЬреА рд╕реЗ рдмрджрд▓реА рд╣реИрдВ ...)

@davidfowl

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред ASP.NET Core рдФрд░ EF рдПрдХ рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкрд░рд╛рд╡рд░реНрддрди рдЙрддреНрд╕рд░реНрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдпрд╣рд╛рдБ рд╡рд┐рд╕реНрддреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

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

рдХреНрдпрд╛ рдпрд╣ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореБрдЭреЗ рдпрд╣ рд╕реБрдирдХрд░ рдЦреБрд╢реА рд╣реЛрдЧреА рдХрд┐ рдпрд╣ ...

@gulbanna

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

рдореИрдВрдиреЗ рдЬреЛ рдХрд╣рд╛ рд╣реИ рдХрд┐ рд╡реЗ 2.0 рдЕрдкрдбреЗрдЯ (рдЬреЗрдирд░рд┐рдХ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдПрд▓рдЖрд░ рдХреЛ рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд░рд╣реЗ рд╣реИрдВред

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

@masonwheeler

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

Https://github.com/dotnet/corefx/issues/4491 (рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рдкреВрд░реНрд╡ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ) рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд┐рддрд┐ рдЕрднреА рднреА рд╡рд╣реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ (рднрд▓реЗ рд╣реА рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ) рдХреЛ рдпрд╛рдж рдХрд░рдирд╛ "рд╣рдо рдЕрднреА рднреА рдПрдХ рдХрд╛рд░реНрдп Reflection.Emit " рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИред

рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд░ рдХреЛ рдмреЗрдХрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ

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

рдореИрдВрдиреЗ рдЬреЛ рдХрд╣рд╛ рд╣реИ рдХрд┐ рд╡реЗ 2.0 рдЕрдкрдбреЗрдЯ (рдЬреЗрдирд░рд┐рдХ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдПрд▓рдЖрд░ рдХреЛ рдЙрд╕реА рд╢реИрд▓реА рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд░рд╣реЗ рд╣реИрдВред

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

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

@svick

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

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

рдХреИрд╕реЗ рдкрд░рд╛рд╡рд░реНрддрди рд╣реИред рдПрдХ рд╕рдВрдХрд▓рдХ рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА рдЙрдкрдпреЛрдЧреА рд╣реИ?

рдпрд╣ рдЕрднреА рддрдХ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕рдВрдХрд▓рдХ рдмреИрдХрдПрдВрдб рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рдирдИ рдЕрд╕реЗрдВрдмрд▓реА рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдпрд╛ рдЗрди-рдореЗрдореЛрд░реА рдореЗрдВ рдирдИ рдЕрд╕реЗрдВрдмрд▓реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрднреА рднреА рдирдП рдЖрдИрдПрд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реЛрдЧреА рдЬрдм рдЬреЗрдЖрдИрдЯреА рдЗрдВрдЯреНрд░рд┐рдирд┐рдХреНрд╕ рдЕрдХреНрд╕рд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЬрд╝рд░реВрд░, рд▓реЗрдХрд┐рди рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╡реЗ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ?

рдпрд╛ рдирдП рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдЬрдм рд╡реЗ рдореМрдЬреВрджрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдпрдереЛрдЪрд┐рдд рдПрдиреНрдХреЛрдбреЗрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

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

рдХреНрдпрд╛ .net рдЯреАрдо рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдСрди-рдкреНрд░рд┐рдорд╛рдЗрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдирдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╕рд┐рд░реНрдл "рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ asp.net рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╣реИ? рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ @ Edward84 рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЛрд▓ рд░рд╣рд╛ рд╣реВрдВ

рдХреНрдпрд╛ рдпрд╣ Microsoft.Extensions.* рд╕рдорд░реНрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ? рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Microsoft.Extensions.Logging рдФрд░ Microsoft.Extensions.Configuration ред

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

рд╣рдордиреЗ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдЕрдореВрд░реНрддрддрд╛ рдкрд░ рд╣рдорд╛рд░реЗ рдХреЛрд░ рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдкреАрдЖрдИ рдХреЛ рдЖрдзрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ рдпреЗ .NET .NET рдФрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ (4.7.2+) рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд .NET рдорд╛рдирдХ рдПрдкреАрдЖрдИ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рд╡реЗ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@mvestergaard рдЬреИрд╕рд╛ рдХрд┐ рдШреЛрд╖рдгрд╛ рдореЗрдВ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛

Microsoft.Extension рдкреИрдХреЗрдЬ (рдЬреИрд╕реЗ рд▓реЙрдЧрд┐рдВрдЧ, рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди) .NET рдорд╛рдирдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ

рдФрд░ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ @badadams рдХреА рдЯрд┐рдкреНрдкрдгреА:

рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ (рдЬреИрд╕реЗ Microsoft.Extensions.* .NET рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣ рд░рд╣реЗ рд╣реИрдВ)

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

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рдкрд░рд┐рдкрдХреНрд╡ рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╡реЗ рдЬреЛ .NET Framework рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рдереЗ рдЬреИрд╕реЗ рдХрд┐ рдЬрд░реВрд░рдд рдереАред System.Drawing рдФрд░ GDI +ред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╛рдж рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп .NET рдХреЛрд░ 3.0 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ AFAICT, рд╣рдо рдЕрднреА рднреА рд╕реНрдерд┐рд░, рдкрд░рд┐рдкрдХреНрд╡ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЪреВрдХ рдЬрд╛рдПрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ ред рд╣рдореЗрдВ рдЕрдкрд░рд┐рдкрдХреНрд╡ EF Core рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХрд┐ рдЙрди рд╕рднреА рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдкреВрд░реНрдг EF рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдкреАрда рдХреЗ рдкреАрдЫреЗ рдЗрди-рдореЗрдореЛрд░реА рдХреНрд▓рд╛рдЗрдВрдЯ рдореВрд▓реНрдпрд╛рдВрдХрди рдкрд░ рд╡рд╛рдкрд╕ рдЖрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рд╕рдорд╕реНрдпрд╛рдПрдВ ред

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

EF6 .NET рдХреЛрд░ 3.0 рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ ASP.NET рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕реНрдЯреИрдВрдбрдЕрдк рдкрд░ - 6 рдирд╡рдВрдмрд░, 2018 - ASP.NET Core 3.0 19:06 рдкрд░

@ рдмрдмрдирд╛рджрд╛рдо рдмрдбрд╝реА рдЦрдмрд░ рд╣реИ! рдмрд╣реБрдд рдмрдбрд╝реА рдмрд╛рдд рд╣реИ! :) рдЕрдЪреНрдЫреА рдиреМрдХрд░реА рдорд┐рд▓ рд░рд╣реА рд╣реИред рдЗрд╕рдХрд╛ рдПрдХ рдФрд░ рдЙрд▓реНрд▓реЗрдЦ рдпрд╣рд╛рдВ рдорд┐рд▓рд╛ред

@ SaebAmini : рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред .NET рдХреЛрд░ рдкрд░ рдЖрдХрд░реНрд╖рд┐рддред System.Drawing.Common рдФрд░ Scott Hanselmans Blogpost рджреЗрдЦреЗрдВ: https://www.hanselman.com/blog/HowDoYouUseSystemDrawingInNETCore.aspx ,

рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ CoreCompat.System.Drawing рдореМрдЬреВрдж рдерд╛, рдореЛрдиреЛ рдХреЗ System.Drawing рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВред

рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ .NET рдХреЛрд░ рдкрд░ рдЪрд▓рдиреЗ рдкрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рд╣реИ?

@TsengSR рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рджреГрд╢реНрдп рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдерд╛:

  1. Microsoft рд╕реЙрд▓реНрд╡рд░ рдлрд╛рдЙрдВрдбреЗрд╢рди рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛, рдХреЗрд╡рд▓ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
  2. рдПрдХ рдмрд╛рд░рдХреЛрдб рдЗрдореЗрдЬ рдЬреЗрдирд░реЗрд╢рди рдкреИрдХреЗрдЬ рдЬреЛ System.Drawing рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
  3. EF6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрд╣ рдХрд░реАрдм рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдХреА рдмрд╛рдд рд╣реИред

@SaebAmini : рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, EF6 рдХрд╛ рд╕рдорд░реНрдерди .NET Core 3.0 рдореЗрдВ рдЖрддрд╛ рд╣реИ, System.Drawing рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ (рдФрд░ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ CoreCompat рдкреИрдХреЗрдЬ рдореМрдЬреВрдж рдерд╛ рдФрд░ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рдерд╛) рдФрд░ Microsoft Solent Foundation рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП, рдХреЗ рдмрд╛рдж рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдПрдкреАрдЖрдИ рдПрдирд╛ рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдЪрд▓рд╛рдирд╛:

рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдПрдирд╛рд▓рд╛рдЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ рджреЗрдЦреЗрдВ

https://gist.github.com/TsengSR/f61c03c5f2d63dbe78d6d8b8c1eed08831 (рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб

рдпрд╣ .NET рдХреЛрд░ 2.0 + рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди (рдЬреЛ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХреЗ рд╕рд╛рде 97.93% рд╕рдВрдЧрддрддрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрд╕рдВрдЧрдд APIs рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЬреНрдпрд╛рджрд╛рддрд░ System.Web рдЬреЛ рдХрд┐ System.ServiceModel / System.Data.Linq ред

рдЕрдм, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рд╕реЙрд▓реНрд╡рд░ рдХреЛ System.Web рдФрд░ HttpContext рдпрд╛ System.ServiceModel , рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдбреЙрди рдХрд┐рд╕реА рднреА рд╢реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдФрд░ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдЗрд╕ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ), рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдХрд┐ рдЖрдк рдЗрд╕реЗ .NET рдХреЛрд░ 2.0 / 2.1 + рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрд╛ .NET рдХреЛрд░ 3.0 рдкрд░ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрджрд┐ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ netstandard рдпрд╛ netcoreapp20 рд▓рдХреНрд╖реНрдп рдореБрдирд┐рдХрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

рд╣рд╛рдВ, рдкреНрд░рд╢реНрди рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдпрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдврд╛рдВрдЪреЗ (рдИрдПрдл 6 -> рдИрдПрдл рдХреЛрд░ 2.0 / 2.1) рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдХрд╛рдо рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрднрд╡ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рднреА рдХреЛрдб 1: 1 рдХреЛ ASP.NET Core w / o рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдмрд┐рд▓реНрдХреБрд▓ ASP.NET Core рдХреЗ рдмрд╛рд╣рд░)ред

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

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

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

рдореИрдВ @gulbanana рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред .NET рдХреЛрд░ рдЕрдм .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдмрд╣реБрдд рдмрдбрд╝рд╛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдРрдк рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдХреЗрд╡рд▓ред Dll рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ред рдХреБрдЫ рдЧреБрдо рд╣реЛ рдЧрдПред .DLL рдХреЛ рдкреНрд░реЛрдмрд┐рдВрдЧ рдкрде рдкрд░ рдЬреЛрдбрд╝реЗрдВред

dotnet рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдкрд░ рдкреНрд░рдЧрддрд┐ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ .NET рдХреЛрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ред рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдПрдХ рд╣рд╡рд╛ рджреЗрддреЗ рд╣реИрдВред

crossgen рд╕рд╛рде рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдорд╣рд╛рди рд╣реИред рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдЪрд▓рддреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред

tl / dr .NET рдХреЛрд░ рдЖрдЬрдХрд▓ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИред

рдХреНрдпрд╛ рдЪреАрдЬрд╝ рдЫреВрдЯ рд░рд╣реА рд╣реИ:

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

@TsengSR рдЕрдкрдиреЗ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЛрд╕реНрдд, рдорд╣рд╛рди рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдмрд╛рд░рдХреЛрдб рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рднрд┐рдиреНрди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧреАред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВред (рдЬрдм рддрдХ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдордЭрдирд╛ рдФрд░ рдЗрд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)

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

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

рдХреНрдпрд╛ ASP.NET Core 3 рдХреЗ рд▓рд┐рдП .NET Core 3 рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо "рдЗрдХрдЯреНрдард╛" рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ .NET рдорд╛рдирдХ рдХрд╛рд░реНрдп рд╕рдореВрд╣ рдХреЛ рд╕реБрдЭрд╛рд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░реЗрдВ?

рдирдорд╕реНрддреЗ, .netStandard 2.0 рдпрд╛ .netCore 2.0 рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдХреЗрдЬ .NetCore 3.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Oracle.ManagedDataAccess.Core рд▓рдХреНрд╖реНрдп .NetCore 2.0

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

ред рдиреЗрдЯрдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕рдВрдЧрддрддрд╛ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдк рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВред рдиреЗрдЯрдлрд╝реНрд░реЗрдорд╡рд░реНрдХ 2.0 рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдиреЗрдЯрдлреЛрд░ 2.0 рд╕реЗ 3.0 рддрдХ рднреА рдХрдо рд╕реЗ рдХрдоред

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

рдирдорд╕реНрддреЗ, .netStandard 2.0 рдпрд╛ .netCore 2.0 рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдХреЗрдЬ .NetCore 3.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Oracle.ManagedDataAccess.Core рд▓рдХреНрд╖реНрдп .NetCore 2.0

рд╣рд╛рдБ, .NET Core 3.0 рдмреИрдХрд╡рд░реНрдб рдХрдВрдкреНрд░реЗрд╢рд░реНрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ .NetStandard 1.0 -> .NetStandard 2.1 рдФрд░ .NetCore 1.0 -> .NetCore 2.2 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред

@benaadams рддреЛ рдЕрдЪреНрдЫрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ .net рдлреНрд░реЗрдорд╡рд░реНрдХ dll рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рд╡реЗ рдХрд┐рд╕реА рднреА рд▓рд╛рдкрддрд╛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?

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

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

рд╣рд╛рдБ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рдХрд╛ рдПрдХ .NET рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ .NET рдХреЛрд░ (рдФрд░ рдореЛрдиреЛ, рдЬрд╝рдорд░реАрди, рдПрдХрддрд╛, UWP) рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, Windows рд╕рдВрдЧрддрддрд╛ рдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ .NET .NET 2.0 рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдХрд░реАрдм рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬреЛ рдЖрдк .NET рдХреЛрд░ 2.1 рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ 20,000 рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рддрд╛ рд╣реИ; рдФрд░ .NET рдХреЛрд░ 3.0 EF6 (рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯ) рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рд╣реИ, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░: WinForms, WPF, COM рдЗрдВрдЯрд░реЙрдк рдЖрджрд┐ред

рд╣реИрд▓реЛ рдпрд╛рд░реЛ,
.NET .NET рдкрд░ ASP.NET Core рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЙрдирдХреЗ рдкрде рдкрд░ рдПрдХ рдЙрдЪрд┐рдд рдХрджрдо рдкрддреНрдерд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕рдорд░реНрдерди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET Framework рдкрд░ ASP.NET Core 2.1.x рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдФрд░ рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЕрдиреНрдп рдкреИрдХреЗрдЬ-рдЖрдзрд╛рд░рд┐рдд ASP.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐, рдЬреИрд╕реЗ MVC 5.x, рд╡реЗрдм API 2.x, рд╕рд┐рдЧреНрдирд▓рдЖрд░ 2.xред рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдорддрд▓рдм рд╣реИ рдХрд┐ ASP.NET Core 2.1.x рд╕рдВрдмрдВрдзрд┐рдд рдкреИрдХреЗрдЬ (рдЕрдВрддрд┐рдо рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА TBD) рдХреЛ .NET .NET 2.1 рдЯреНрд░реЗрди рдХреЗ рд▓рд┐рдП 3 рд╕рд╛рд▓ рдХреА LTS рдЕрд╡рдзрд┐ рд╕реЗ рдкрд░реЗ рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЙрддреНрдХреГрд╖реНрдЯ рдЦрдмрд░ред рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

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

@DamianEdwards рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ 2.1.x рдкрд░ рдирд┐рдпрдд рд╣реИ рдпрд╛ рдХреНрдпрд╛ рдпрд╣ 2.2.x рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрдЧрд░ рдпрд╣ рдПрд▓рдЯреАрдПрд╕ рд░рд┐рд▓реАрдЬрд╝ рдмрди рдЬрд╛рддрд╛ рд╣реИ? 2.2 рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдЕрднреА рддрдХ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЬрдм рд╕реЗ рдпрд╣ netstandard рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд╣реИ рдФрд░ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдкрд░ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдбрд╝рдирд╛ рдмреЗрдХрд╛рд░ рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ред

@ рдЬрдм рддрдХ рдореИрдВ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╣рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдиреА рд╣реЛрдЧреА, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрд▓рдЯреАрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рддрд╛ рд╣реИред рдПрд▓рдЯреАрдПрд╕ рдпрд╛ рдХрд░рдВрдЯ рдЯреНрд░реЗрди рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рдкрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпрд╣ рддрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡реЗ рдЦреБрдж рд╣реА рд╡реНрдпрд╛рдкрд╛рд░ рдХрд░реЗрдВред рдирдП рдлреАрдЪрд░реНрд╕ LTS рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдереА рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреНрд░реЗрди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЯреНрд░реЗрди рдХрд╛ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред 2.2 рдПрд▓рдЯреАрдПрд╕ рдирд╣реАрдВ рдмрдиреЗрдЧрд╛ред

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

рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рддрд╛рдХрд┐ рд▓реЛрдЧ рдЕрдкрдиреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдРрдк рдХреЛ 2.2 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рди рдХрд░реЗрдВ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдкрдбрд╝реЗред рдЕрдиреНрдпрдерд╛ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдиреАрдЪреЗ рдЧрд┐рд░рдирд╛ рд╣реЛрдЧрд╛ред

рдирдП рдлреАрдЪрд░реНрд╕ LTS рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрд▓рдЯреАрдПрд╕ рдирд┐рд░реНрдгрдпреЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред

@poke

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрд▓рдЯреАрдПрд╕ рдирд┐рд░реНрдгрдпреЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред

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

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

@ рдареАрдХ рд╣реИред рдЦреИрд░, рдЕрдм рддрдХ рд╣рдо 4 рд░рд┐рд▓реАрдЬ (1.0, 1.1, 2.0, 2.1) рдХреЗ рд╕рд╛рде 5 рд╡реЗрдВ рд╢реАрдШреНрд░ рд╣реА (2.2) рдЖ рд░рд╣реЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ 1.0 рдФрд░ 2.0 рдХреЛ рд╢реБрд░реВ рдореЗрдВ рдПрд▓рдЯреАрдПрд╕ рд╣реЛрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХрдИ рдХрд╛рд░рдХреЛрдВ рдХреЗ рдХрд╛рд░рдг (рдЬреНрдпрд╛рджрд╛рддрд░ рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирдпрд╛ рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛), рд╣рдо 1.0, 1.1 рдФрд░ 2.1 рдПрд▓рдЯреАрдПрд╕ рдЯреНрд░реЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдПред 2.0 рдФрд░ 2.2 рд╡рд░реНрддрдорд╛рди рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВ (рдереЗ, рд╣реИрдВ)ред рдЗрд╕ рд╕реНрддрд░ рдкрд░, 3.0 рд▓рдЧрднрдЧ 3. рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рднреА рд╣реЛрдЧрд╛ (3.1 рдХреЗ рдХрд╛рд░рдг рд╡рд░реНрддрдорд╛рди "рдЕрдиреБрдЧреНрд░рд╣" 3 рдорд╣реАрдиреЗ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) 3.1 рд╕реЗ рдкрд╣рд▓реЗ 3.x рдЯреНрд░реЗрди рдПрд▓рдЯреАрдПрд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реА рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреИрдЯрд░реНрди рдФрд░ рддрд╛рд▓ рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рд╣реЛрдВрдЧреЗ (рд╣рдо рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ) рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╣рдорд╛рд░реА рдХреНрд░рд┐рд╕реНрдЯрд▓ рдмреЙрд▓ рд╣рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реА рд╣реИред

@DamianEdwards рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! ред (Btwред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣рд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВ рдмрд╕ рдЙрддреНрд╕реБрдХ рдерд╛;))

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

рд╣реЗ рд╕рдм, рдПрдХ рддреНрд╡рд░рд┐рдд рд╕рд╡рд╛рд▓: рд╣рдордореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ C ++ / CLI рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрд╢реА рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдпрд╣ рдЬрд▓реНрдж рд╣реАред рдиреЗрдЯ рдХреЛрд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдпрд╛ рдЬрдм рддрдХ рд╣рдо рдкреА / рдЗрдирд╡реЛрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЕрдирд╛рде рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ?

@lokitoth - рдпрд╣ https://github.com/dotnet/core рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл ASP.NET Core рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред

@lokitoth рд╣рд╛рдБ, рдЬрд┐рд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, https://github.com/dotnet/coreclr/issues/18013 рджреЗрдЦреЗрдВ

o рдореБрдЭреЗ рдпрд╣ рдХреИрд╕реЗ рдпрд╛рдж рдЖрдпрд╛?

рдареАрдХ рд╣реИ, рдлрд┐рд░ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

@ danroth27 рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб-рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдкреНрд░рднрд╛рд╡ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

@Slkebe рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рднрд╛рд╡ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдП рдЧрдП рд░рдирдЯрд╛рдЗрдо рдпрд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред

@ danroth27 рдореЗрд░реА рд╕рдордЭ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдореЛрдиреЛ рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрднрд░ Microsoft.AspNetCore.* рдкреИрдХреЗрдЬ netstandard рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ? рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ Microsoft.AspNetCore.* 2.1.X рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрдирд╛ рд╣реИ?

@Slkebe рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗрд╡рд▓ рдЙрди рдШрдЯрдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдЬреЛ .NET рдорд╛рдирдХ (рдЬреИрд╕реЗ Microsoft.Extensionsред * рдФрд░ рджреЛрд╕реНрддреЛрдВ) рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред Blazor рдХрд╛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рднрд╛рдЧ рдЬреЛ ASP.NET рдХреЛрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд .NET рдХреЛрд░ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░реЗрдЧрд╛ред

https://blogs.msdn.microsoft.com/dotnet/2018/11/05/announcing-net-standard-2-1/

рдЕрдм рдлреИрд╕рд▓рд╛ рдХреНрдпрд╛ рд╣реИ? рд▓рдХреНрд╖реНрдп .net рдорд╛рдирдХ 2.1 рдкрд░?

@ John0King рдХреЛрдИ рдирдпрд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реИред

рдпрд╣ рд╣реИ рдХреЗрд▓рд╛! рдХреЗрд▓реЗ

рдореБрдЭреЗ рдЖрдкрдХреА рдмрд╛рдд рдкрд░ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд╣реИред

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

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

рдореИрдВ ASP.NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБ-рдХреНрд╖рдорддрд╛ рд╣реИ - рдХреНрд╖рдорддрд╛рдПрдВред

@FlorianGrimm рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ? Microsoft.Owin ASP.NET 4 рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдСрди-рдкреНрд░рд┐рдорд╛рдЗрд╕реЗрд╕ рдФрд░ azure рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдРрдк рд╡рди рд╕реЛрд░реНрд╕ рдХреЛрдб (.exe) рд╣реИ, рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдСрд░реНрдЯ, рдПрдб, рдмреЗрд╕рд┐рдХ рдиреЙрд░реНрдореНрд╕ рдФрд░ рдЕрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

@FlorianGrimm рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдЖрдкрдХреЛ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИрдВ?

Microsoft.Office.Project.Schema, Microsoft.SqlServer.TransactSql.ScriptDom рдФрд░ Microsoft.SharePointOnline.CSOMред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ SharePoint рдЯреАрдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧреА
https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/16585795-support-net-core-with-csom
рдФрд░ рдореБрдЭреЗ ilspy рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓реЗрдВрдЧреЗред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдореБрдЭреЗ ASP.NET рдХреЛрд░ рдкрд╕рдВрдж рд╣реИ рдФрд░ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп Microsoft рдЯреАрдо рдЕрдзрд┐рдХ .NET рдХреЛрд░ рдЕрд╕реЗрдВрдмрд▓рд┐рдпрд╛рдБ рдкреНрд░рджрд╛рди рдХрд░реЗрдВрдЧреЗред

рд╣рдо рд╕рдордп-рд╕рдордп рдкрд░ 'рдЪрд░реНрдЪрд╛' рдореБрджреНрджреЛрдВ рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВред

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

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ipinak picture ipinak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rynowak picture rynowak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

snebjorn picture snebjorn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mj1856 picture mj1856  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fayezmm picture fayezmm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ