рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛

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


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

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



рдЪрд░рдг реж - рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ


рдЕрдкрдиреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдРрдкреНрд╕ рдХреЛ рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ .NET Core 3 рдФрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред


рдЪрд░рдг 1 - рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдЪрд▓рд╛рдПрдБ


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


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


рдЪрд░рдг 2 - рдПрд╕рдбреАрдХреЗ-рд╢реИрд▓реА рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВред csproj


рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ (рд╕рдорд╛рдзрд╛рди рдкрд░ рдирд╣реАрдВ!)ред рдХреНрдпрд╛ рдЖрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрд╕рдбреАрдХреЗ-рд╢реИрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЪрд░рдг 3 рдкрд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдВред


  • рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ packages.config рдлрд╝рд╛рдЗрд▓ рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ package.config рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ PackageReference рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ ред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 рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдкреВрд░реЗ <ItemGroup> рдХреЛ рдЕрдкрдиреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ PackageReference рдХрд░реЗрдВ, рдЬреЛ Visual Studio рдореЗрдВ рдЦреЛрд▓реА рдЧрдИ рд╣реИ, рдЬреЛ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд░рдг рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рдкрдХрд╛рдП рдЧрдП рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдареАрдХ рдиреАрдЪреЗ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдП рдЧрдП PackageReference рдХреА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХ рдХреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

     <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> 
  • рдЖрдк <Project> рдФрд░ <Name> рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрдиреЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдирдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рд╢реИрд▓реА рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рддреЛ рдкреНрд░рддреНрдпреЗрдХ ProjectReference рдЬреЛ рдЖрдкрдиреЗ рдкрд╛рдпрд╛ рд╣реИ (рдпрджрд┐ рдХреЛрдИ рд╣реЛ), рдХреЗрд╡рд▓ ItemGroup рдФрд░ ProjectReference рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЙрдкреА рдХрд░реЗрдВред

     <ItemGroup> <ProjectReference Include="..\WindowsFormsApp1\WindowsFormsApp1.csproj" /> </ItemGroup> 

    рд╕рдм рдХреБрдЫ рдмрдЪрд╛ рд▓реЛред Visual Studio рдореЗрдВ .csproj рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рдХрд░реЗрдВред рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд░реАрд▓реЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЪреБрдиреЗрдВред рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИред

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


    рд╕реНрдЯреЗрдк 3 - .NET Core рдХреЛ рд░рд┐рдЯрд╛рд░рдЧреЗрдЯ рдХрд░реЗрдВ


    рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдбрдмрд▓-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ <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 рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


    1. рдЕрдкрдиреА .csproj рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ (рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ MyProject.csproj ), рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рджреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП MyProject.NetFramework.csproj рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд░рдЦреЗрдВред
    2. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ Visual Studio рдореЗрдВ рдмрдВрдж рд╣реИ, рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ MyProject.NetFramework.csproj рдЦреЛрд▓реЗрдВред
      рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЧреБрдг рдЪреБрдиреЗрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЯреИрдм рдореЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЦреБрд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рдирд╛рдо рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рд╕рдорд╛рди рдорд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ (рдирд╛рдо рд╕реЗ ".NetFramework" рдирд┐рдХрд╛рд▓реЗрдВ)ред
      рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХреЗ рдЖрдЧреЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд╣реЗрдЬреЗрдВред
    3. рдирдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ <TargetFramework> рдХреЛ net472 ред
    4. рдЕрдм рдЬрдм рдЖрдкрдХреЛ WinForms рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ MyProject.NetFramework.csproj рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЛ .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХрд╛ рдкреВрд░рд╛ рдЕрдиреБрднрд╡ рдорд┐рд▓реЗрдЧрд╛ред рдЬрдм рдЖрдкрдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдЦреЛрд▓реЗрдВред
    5. рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ рдЬрдм рддрдХ .NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП WinForms рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред

    рдХреНрдпреЛрдВ .NET рдХреЛрд░ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░реЗрдВ


    рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ рд╕реНрдХреЙрдЯ рд╣рдВрдЯрд░ рдФрд░ рдореИрдВ .NET рдХреЛрд░ 3.0 рдХреЗ рд▓рд┐рдП .NET рдХреЛрд░ 3 рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рднреА рдирдИ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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


All Articles