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

рдЪрд░рдг 2 - рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ .csproj рд╕реЗ SDK рд╕реНрдЯрд╛рдЗрд▓
рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ, рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ!)ред рдХреНрдпрд╛ рдЖрдк
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрд╕рдбреАрдХреЗ-рд╕реНрдЯрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ
рдЪрд░рдг 3 рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВ:
- рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреИрдХреЗрдЬ .config рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рджреЗрдЦреЗрдВред рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреЛрдИ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рд╣реИ, рддреЛ рд╕рдВрдХреБрд▓ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ редconfig рдФрд░ PackageReference рдХреЗ рд▓рд┐рдП Migrate package.config рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ред рдлрд┐рд░ рдУрдХреЗ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдФрд░ рдЕрдирд▓реЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рдлрд┐рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ Edit <your project name> .csproj рдЪреБрдиреЗрдВ ред
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╣реАрдВ рди рдХрд╣реАрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрд╕реЗ рдЦреЛрдЬ рд╕рдХреЗрдВред
- рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЦреЛрд▓реЗ рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕рдм рдХреБрдЫ рд╣рдЯрд╛ рджреЗрдВ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдХреНрд░рд╛рдордХ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдХреЗрд╡рд▓ рдЙрд╕ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдордЧреНрд░реА рдЬреЛрдбрд╝реЗрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрдирд╛рдИ рдереА)ред рдХреЗрд╡рд▓ рд╣рдЯрд╛рдП рдЧрдП рдкрд╛рда рдХреЗ рдмрдЬрд╛рдп, рдирд┐рдореНрди рдХреЛрдб рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
WinForms рдкрд░ рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net472</TargetFramework> <UseWindowsForms>true</UseWindowsForms> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> </PropertyGroup> </Project>
рдПрдХ WPF рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net472</TargetFramework> <UseWPF>true</UseWPF> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> </PropertyGroup> </Project>
- рдиреЛрдЯрдкреИрдб PackageReference рдЦреЛрдЬреЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдпрджрд┐ рдЖрдк рдПрдХ PackageReference рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд░рдг рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдареАрдХ рдиреАрдЪреЗ, Visual Studio рдореЗрдВ рдЦреЛрд▓реЗ рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ PackageReference рд╡рд╛рд▓реЗ рдкреВрд░реЗ ItemGroup рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬрдкреНрд░рдмрдВрдзрди рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░реЗрдВ рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓рд╛ рдерд╛ред рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
<ItemGroup> <PackageReference Include="NUnit"> <Version>3.11.0</Version> </PackageReference> </ItemGroup>
- рдЕрдм ProjectReference рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдХреА рддрд░рд╣ рд╣реА рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ ProjectReference рддрддреНрд╡ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ:
<ItemGroup> <ProjectReference Include="..\WindowsFormsApp1\WindowsFormsApp1.csproj"> <Project>{7bce0d50-17fe-4fda-b6b7-e7960aed8ac2}</Project> <Name>WindowsFormsApp1</Name> </ProjectReference> </ItemGroup>
- рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдирд╛рдо рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдирдИ рд╢реИрд▓реА рдореЗрдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдкреНрд░рддреНрдпреЗрдХ ProjectReference рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓рд╛ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ), рдХреЗрд╡рд▓ ItemGroup рдФрд░ ProjectReference рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ ред
<ItemGroup> <ProjectReference Include="..\WindowsFormsApp1\WindowsFormsApp1.csproj" /> </ItemGroup>
- рдпрд╣ рд╕рдм рдмрдЪрд╛рдУред Visual Studio рдореЗрдВ .csproj рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рдХрд░реЗрдВред рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд░реАрд▓реЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪреБрдиреЗрдВред рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред
рдмрдбрд╝реА рдЦрдмрд░ рд╣реИ, рдЖрдкрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдирдП рдПрд╕рдбреАрдХреЗ рд╢реИрд▓реА рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ! рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрднреА рднреА .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд▓рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдЗрд╕реЗ .NET рдХреЛрд░ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд░рдг 3 - .NET рдХреЛрд░ рдкрд░ рд░рд┐рдЯрд╛рд░рдЧреЗрдЯ
рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред
TargetFramework рдЧреБрдг рдвреВрдВрдвреЗрдВ рдФрд░ рдорд╛рди рдХреЛ
netcoreapp3.0 рдореЗрдВ рдмрджрд▓реЗрдВ ред рдЖрдкрдХреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдиреА рдЪрд╛рд╣рд┐рдП:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> ... </PropertyGroup> ... </Project>
рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЪрд▓рд╛рдПрдВред
рдмрдзрд╛рдИ рд╣реЛ, рдЖрдкрдиреЗ рдЗрд╕реЗ .NET рдХреЛрд░ 3 рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ!рдмрдЧ рдареАрдХ рдХрд░рдирд╛
рдпрджрд┐ рдЖрдк рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ
The type or namespace <some name> could not be found
рдпрд╛
The name <some name> does not exist in the current context
рдФрд░ рдпрджрд┐ рдЖрдкрдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд░рд┐рдкреЛрд░реНрдЯ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдкрдпреБрдХреНрдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ NuGet рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рдХрд░ рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрджрд┐ рдЖрдк рд▓рд╛рдкрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде NuGet рдкреИрдХреЗрдЬ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВ, рддреЛ
Microsoft.Windows.Compatibility рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдпрд╣ рдкреИрдХреЗрдЬ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ ~ 21K .NET рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рдпрджреНрдпрдкрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ .NET рдХреЛрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЗ рдХрд╛рдо рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛:
- WPF рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдкрд╣рд▓реЗ рд╕реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЛрдб рдореЗрдВ рд╣реИ, рдФрд░ рд╣рдо рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП WinForms рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдмрд╛рдж рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП WinForms рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
.NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП WinForms рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:
- .Csproj рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MyProject.csproj ), рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, MyProject.NetFramework.csproj, рдФрд░ рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦреЗрдВред
- рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ Visual Studio рдореЗрдВ рдмрдВрдж рд╣реИ, рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ MyProject.NetFramework.csproj рдЦреЛрд▓реЗрдВред
рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ, рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЧреБрдг рдЪреБрдиреЗрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреИрдм рдкрд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП) рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдирд╛рдо рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЛ рдЙрдиреНрд╣реАрдВ рдорд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдореВрд▓ (рд╣рдЯрд╛рдПрдВ ".NetFramework" рдирд╛рдореЛрдВ рд╕реЗ)ред
рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЖрдЧреЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд╣реЗрдЬреЗрдВред
- рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ TargetFramework рдХреЛ net472 рдореЗрдВ рдмрджрд▓реЗрдВ ред
- рдЕрдм рдЖрдкрдХреЛ WinForms рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, MyProject.NetFramework.csproj рд╕реЗ рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЖрдк .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЦреЛрд▓реЗрдВред
- .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП WinForms рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рддрдХ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдХреНрдпреЛрдВ .NET рдХреЛрд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ?
рдПрдХ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ рд╕реНрдХреЙрдЯ рд╣рдВрдЯрд░ рдФрд░ рдореИрдВ .NET рдХреЛрд░ 3 рдХреЗ рд╕рднреА рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
.NET рдХреЛрд░ 3.0 рдкрд░ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ ред