.NET 4.5 - .NET 4.0 рдХреЗ рд▓рд┐рдП рдЗрди-рдкреНрд▓реЗрд╕ рдЕрдкрдЧреНрд░реЗрдб

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

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

рдЗрди-рдкреНрд▓реЗрд╕ рдЕрдкрдЧреНрд░реЗрдб рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?


рдЬрдм рдЖрдк .NET 4.5 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ .NET 4.0 рд╕реЗ рдЖрдкрдХреЗ рдЕрд╕реЗрдВрдмрд▓реА \ Windows \ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ \ V4.0.30319 рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирдП рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рд╛рде рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдирдП рд▓реЛрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдзрд╛рдирд╕рднрд╛ System.Net.Http)ред рдирд┐рдореНрди рдЫрд╡рд┐ .NET 4.5 (рдмрд╛рдПрдВ) рдФрд░ .NET 4.0 (рджрд╛рдПрдВ) рдХреЗ рд▓рд┐рдП System.dll рдЕрд╕реЗрдВрдмрд▓реА рджрд┐рдЦрд╛рддреА рд╣реИ:



рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ (рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, .NET рд╕рдВрд╕реНрдХрд░рдг 4.5 рдЫреЛрдЯрд╛ рд╣реИ)ред

рд╡рд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдпрджрд┐ .NET 4.5 рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЖрдкрдиреЗ рдПрдиреНрд╡рд╛рдпрд░рдирдореЗрдВрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХреА рд╣реИред рд╕рдВрдкрддреНрддрд┐, рддреЛ рднреА рдЖрдкрдХреЛ 4.0.30319 рдорд┐рд▓реЗрдЧреАред

рдпрджрд┐ рдЖрдк .NET 4.5 рдореЗрдВ System.dll рдЕрд╕реЗрдВрдмрд▓реА рдЧреБрдг рд╡рд┐рдВрдбреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рднреА рджреЗрдЦреЗрдВрдЧреЗ



рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЕрднреА рднреА 4.0.xxx рд╣реИред

рд▓реЗрдЖрдЙрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдВрддрд░: .NET 4.0 рдореЗрдВ рдпрд╣ 261 рд╣реИ, рдЬрдмрдХрд┐ .NET 4.5 рдХреЗ рд╡рд░реНрддрдорд╛рди рдмреАрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ 17379 рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк .NET рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЖрдЙрдЯ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдпрджрд┐ рдпрд╣ 17000 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдпрд╣ .NET 4.5 рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╕реБрдВрджрд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

.NET 4.5 рдпрд╛ .NET 4.0 рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд░рд▓ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИрдВред

.NET 4.5 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рди, рд▓реЗрдХрд┐рди .NET 4.0 рдкрд░ рдЪрд▓рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ


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

рдЖрдк рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ .NET 4.5 рдХреЗ рд▓рд┐рдП .NET 4.0 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдлреИрдВрд╕реА рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ


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

<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework, Version=v4.5" /> </startup> </configuration> 

рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ .NET 4.5 рдкрд░ рд╢реБрд░реВ рди рд╣реЛрдиреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд░рдирдЯрд╛рдЗрдо рдкрд░ рдХреНрд░реИрд╢ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, .NET 4.5 рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП targetFramework рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 <configuration> <system.web> <compilation debug="true" strict="false" explicit="true" targetFramework="4.5" /> </system.web> </configuration> 

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

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдШрдЯрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ .NET рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Environment.Versionред рд░рд┐рдЯрд░реНрди 4ред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ

 void Main() { Environment.Version.ToString().Dump(); Environment.Version.Build.Dump(); Environment.Version.Revision.Dump(); Environment.Version.Major.Dump(); } 

.NET 4.0 рдкрд░
4.0.30319.269
30319
269
4

.NET 4.5 рдкрд░
4.0.30319.17379
30319
17,379
4

рд╕реБрдВрджрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдирд╣реАрдВ? рдзреНрдпрд╛рди рджреЗрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдВрд╢реЛрдзрди рд╕рдВрдЦреНрдпрд╛ .NET 4.5 рдореЗрдВ 17379 рдЕрдзрд┐рдХ рд╣реИ, рдЬрдмрдХрд┐ .NET 4.0 рдореЗрдВ рдпрд╣ 261 рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк .NET 4.5 рдпрд╛ .NET 4.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 public static bool IsDotNet45() { return Environment.Version.Major == 4 && Environment.Version.Revision > 17000; } 

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

 public static bool IsNet45OrNewer() { //  "ReflectionContext"    .NET 4.5. return Type.GetType("System.Reflection.ReflectionContext", false) != null; } 

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдлрд╛рдпрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ .NET рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╣рдореЗрдВ рд╡рд░реНрдЬрди рдХреА рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕реА рдЯреНрд░рд┐рдХ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ред

.NET 3.0 / 3.5 рдХреЗ рд╕рд╛рде рдЕрдВрддрд░


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЗрди-рдкреНрд▓реЗрд╕ рдЕрдкрдЧреНрд░реЗрдб .NET .NET 3.0 / 3.5 (рднреА рдЬрдЧрд╣) рдореЗрдВ .NET 2.0 рдЕрдкрдЧреНрд░реЗрдб рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ, рдЬреЛ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг CLR рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред .NET 2.0 рдХрд░реНрдиреЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рджреЛрдиреЛрдВ 3.x рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рд░реНрдл рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рдереЗред рджреЛрдиреЛрдВ рд╕рдВрд╕реНрдХрд░рдг .NET 2.0 рдЪрд▓рд╛ рд░рд╣реЗ рдереЗ, рдЬрд┐рд╕реЗ рдкреВрд░реЗ 3.x рдЪрдХреНрд░ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рдерд╛ред рдмрджрд▓реЗ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ 4.5 рдХреЗ рддрд╣рдд рдЕрджреНрдпрддрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ v4.0.30319 рдЫреЛрдбрд╝рдХрд░ .NET 4.0 рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

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

рдЕрдЪреНрдЫреА рдЦрдмрд░ - рдмреБрд░реА рдЦрдмрд░


Microsoft .NET рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рддрд░рд╣ рд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рднреА рджреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рд╣реИрдВред рдмреЗрд╢рдХ, рдПрдХ рдкреВрд░реНрдг рдЕрдкрдбреЗрдЯ (рдЬреИрд╕реЗ .NET 2.0, 4.0) рдореЗрдВ рдЗрд╕рдХреА рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрди-рдкреНрд▓реЗрд╕ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдФрд░ .NET рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рднреА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ Microsoft рдорд╛рдирдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рднреАред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ .NET 4.5 рд╕рднреА async-s рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рдЕрдкрдбреЗрдЯ рд╣реИред IO рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ API рдХреЛ Async рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдиреЗ рдореМрдЬреВрджрд╛ API рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░, .NET 4.5 рд╡рд┐рдВрдбреЛрдЬ 8 рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд░рд╣реЗрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЙрдиреНрдирдпрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ .NET рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗрддрд╛ред рдпрд╣ рд╡рд┐рд╕реНрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рдерд╛, рдЬреЛ .NET 3.0 рдХреЗ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рддрдХ .NET 3.5 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ 3.x рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛ рдереА рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET 2.0 рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рдереЗред рдореИрдВ рдЙрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рднреА рдирд╣реАрдВ рдЧрд┐рди рд╕рдХрддрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдЧ IIS рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ .NET 3.5 рдирд╣реАрдВ рдЦреЛрдЬ рд╕рдХрддреЗред рдпрд╣реА рдмрд╛рдд .NET 4.5 рдХреЗ рд╕рд╛рде рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 4.5 рдореЗрдВ рдХреИрд╕реЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЬреЛ рдкреНрд░рд╢рд╛рд╕рдХ .NET рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЗрди рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдВрддрддрдГ .NET рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдпрд╣ рдЙрд▓рдЭрди рдореЗрдВ рд╣реЛрдЧрд╛ред

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

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


All Articles