Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.NET Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ HTTPS, MSBuild ΠΈ DeveloperPacks, ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΡΠ΅Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΡΡΠΊΠ΅ ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, Π° NuGet ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ MSBuild (Microsoft Build Engine) β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, Π° ΡΠ΅Π»Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π±ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π±ΠΎΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΊ DeveloperPacks ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π°ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ (Targeting Packs). ΠΠ΅Π· Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π΅ Π·Π½Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ.NET Framework ΠΈΠ»ΠΈ.NET Core. ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΈΠΌ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ HTTPS ΠΌΠΎΠ³ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ. ΠΡ Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ, ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΡ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ NuGet. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΈΠ»ΠΈ Ρ legacy-ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MSBuild ΠΈ ΡΠΎΠ»Ρ Developer Packs
ΠΠ²ΠΈΠΆΠΎΠΊ MSBuild ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Π² ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ΅ Microsoft. ΠΠ½ ΡΠΈΡΠ°Π΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, .csproj ΠΈΠ»ΠΈ .vbproj) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π²Π΅ΡΡΠΈΠΉ.NET. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ Π²ΡΡΡΠΏΠ°ΡΡ Π² ΠΈΠ³ΡΡ DeveloperPacks. ΠΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ (reference assemblies), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ API ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
ΠΠΎΠ³Π΄Π° Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ"SDK ΠΈΠ»ΠΈ Targeting Pack" Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ MSBuild Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»Ρ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ.NET Framework, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ.NET Framework 4.7.2, Π° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ 4.8, ΡΠ±ΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΉΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅Ρ 4.5, Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ 4.0, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. DeveloperPacks ΡΠ΅ΡΠ°ΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
ΠΠ°ΠΆΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ Runtime ΠΈ Developer Pack. Runtime Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Developer Pack β ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Visual Studio ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½ΠΎ Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ (CI/CD ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ) ΠΈΠ»ΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ρ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΌΠΈ IDE ΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Visual Studio ΠΈΠ»ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ
Reference AssembliesΠ²ΡΡΡΠ½ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΡΠΎ Π½Π°ΡΡΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (Runtime errors), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΎΡΠ»Π°Π΄ΠΈΡΡ.
ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π΄Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΡΠΈ ΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ Π±ΡΠ»ΠΈ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. MSBuild ΠΈΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ PATH. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (Developer Command Prompt), ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ HTTPS ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ NuGet ΠΈ MSBuild
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΡΠΎΡΠΎΠΊΠΎΠ» HTTPS ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ NuGet.org ΠΈΠ»ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΌΠΈ MyGet feed'Π°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π·Π°ΡΠΈΡΡ ΡΠ°ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ±ΠΎΠ΅Π². ΠΠΎΠ³Π΄Π° MSBuild ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ (Restore), ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.NET ΠΈ Windows.
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°"Unable to load the service index" ΠΈΠ»ΠΈ"Certificate validation failed". ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ Π½Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΠ·Π΅ ΡΡΠΎΠΈΡ HTTPS-ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΡΠ²ΠΎ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ HTTPS ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΡΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΠ°Π΄Π°Π΅Ρ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π»Π΅ΠΆΠΈΡ Π² ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Trusted Root Certification Authorities. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ NUGET_HTTP_TIMEOUT, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΡΠ°ΠΉΠ»Π΅ nuget.config, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ² (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ!) ΠΈΠ»ΠΈ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΠΊΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° disableSourceMapping ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° http_proxy ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
Π§ΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ MSBuild ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ DeveloperPacks. ΠΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Visual Studio, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΡΠ°ΠΌΠΎΠΉ IDE. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ.
ΠΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ. ΠΠ΅ ΡΡΠΎΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΡ ΠΏΠΎΠ΄ΡΡΠ΄, ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π·Π΄ΡΠ²Π°ΡΡ Π΄ΠΈΡΠΊ, Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π°ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ.NET Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ present. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
βοΈ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈΠ»ΠΈ Ρ
ΠΎΡΡ Π±Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ, Π²ΡΠ·Π²Π°Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ msbuild -version Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΈ, Π±Π°Π·ΠΎΠ²Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ
.NET Core ΠΈΠ»ΠΈ.NET 5/6/7/8, ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ. ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ SDK (Software Development Kits), ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΡ. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π±ΠΎΠΊ ΠΎ Π±ΠΎΠΊ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ. MSBuild, Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΠΎΡΡΠ°Π² Visual Studio, ΡΠΌΠ΅Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π½Π° Π½ΡΠΆΠ½ΡΡ Π²Π΅ΡΡΠΈΡ SDK Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ°ΠΉΠ»Π° global.json Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π΅ΡΡΠΈΠΉ.NET SDK ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²Π°ΠΆΠ΅Π½. ΠΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅. ΠΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
dotnet --info.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΡΠ΅ΠΉ
ΠΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° HTTPS ΠΈ MSBuild Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. Π Windows ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, Π²Π»ΠΈΡΡΡΠΈΡ
Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ PATH, NUGET_PACKAGES, DOTNET_ROOT ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ PATH Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΡΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, Π³Π΄Π΅ Π»Π΅ΠΆΠ°Ρ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ MSBuild (ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠΈ Π²Π½ΡΡΡΠΈ Program Files (x86)\Microsoft Visual Studio) ΠΈ dotnet CLI. ΠΡΠ»ΠΈ ΠΏΡΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ ΠΈΠ· Π»ΡΠ±ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠΎΠ»Π΅ΠΉ.
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ HTTPS-ΠΏΡΠΎΠΊΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ http_proxy ΠΈ https_proxy Π² ΡΠΎΡΠΌΠ°ΡΠ΅ http://user:password@server:port. Π’Π°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ no_proxy.
| ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
|---|---|---|
MSBuildSDKsPath |
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ SDK | C:\Program Files\dotnet\sdk\8.0.100\Sdks |
NUGET_HTTP_TIMEOUT |
Π’Π°ΠΉΠΌΠ°ΡΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ | 600000 (10 ΠΌΠΈΠ½ΡΡ) |
DOTNET_CLI_TELEMETRY_OPTOUT |
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ | 1 |
https_proxy |
ΠΠ΄ΡΠ΅Ρ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ° | http://proxy.corp:8080 |
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠΈΠ±ΠΊΠ° Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΏΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈ Π»ΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π΄ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ.
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ±ΠΎΡΠΊΠΈ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ²ΡΠ·ΠΊΠ° HTTPS ΠΈ MSBuild Π΄Π°Π΅Ρ ΡΠ±ΠΎΠΉ. ΠΠ΅ΡΠ²Π°Ρ Π³ΡΡΠΏΠΏΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ΅ΡΡΡ:"The SSL connection could not be established". ΠΡΠΎ ΠΏΡΡΠΌΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TLS 1.0, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½).
ΠΡΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° ΠΎΡΠΈΠ±ΠΎΠΊ β"The reference assemblies for.NETFramework,Version=v4.x were not found". ΠΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π½Π΅Ρ Π²Π°ΡΠΊΠ° DeveloperPacks. Π Π΅ΡΠ΅Π½ΠΈΠ΅ β Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Visual Studio ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ. Π’ΡΠ΅ΡΡΡ Π³ΡΡΠΏΠΏΠ° β ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π²Π΅ΡΡΠΈΠΉ NuGet, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΠ»Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡ /v:detailed ΠΈΠ»ΠΈ /v:diag ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ MSBuild. ΠΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉΡΠΈΠΉ Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠΎΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΈΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ΡΡ Ρ"Error" ΠΈΠ»ΠΈ"Warning". Π§Π°ΡΡΠΎ Π² Π»ΠΎΠ³Π΅ Π²ΠΈΠ΄Π½ΠΎ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ URL ΠΈΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π‘ΠΊΡΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° TLS 1.2
Π ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ .NET Framework (Π΄ΠΎ 4.7) ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ TLS 1.2. ΠΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ NuGet ΡΡΠ΅Π±ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ, ΡΠ±ΠΎΡΠΊΠ° ΡΠΏΠ°Π΄Π΅Ρ. Π Π΅ΡΠ΅Π½ΠΈΠ΅: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌ ΡΠ΅ΡΠ΅Π²ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΡΠΎΠΊΡ: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅Π΅ΡΡΡ Windows.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΡΡΠ΅ΠΌ NuGet. ΠΠ½ΠΎΠ³Π΄Π° ΠΏΠ°ΠΊΠ΅ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈΠ·-Π·Π° ΠΎΠ±ΡΡΠ²Π° ΡΠ²ΡΠ·ΠΈ, ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΊΡΡΠ΅. ΠΡΠΈΡΡΠΊΠ° ΠΊΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ dotnet nuget locals all --clear ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ IDE ΡΠ°ΡΡΠΎ ΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Π² CI/CD
Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ (CI/CD) Π²ΠΎΠΏΡΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ DeveloperPacks ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ HTTPS ΡΡΠΎΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΡΠΎ. Π‘Π±ΠΎΡΠΎΡΠ½ΡΠ΅ Π°Π³Π΅Π½ΡΡ ΡΠ°ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΈΡΡΡΡ ΠΎΠ±ΡΠ°Π·Π°Ρ ΠΠ‘, Π³Π΄Π΅ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Docker-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ SDK β ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ (On-Premise), Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²ΡΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π΅ΡΡΠΈΠΉ Targeting Packs Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Π°Π³Π΅Π½ΡΠ°. Π‘ΠΊΡΠΈΠΏΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ΅Π΅ΡΡΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ-ΠΊΡΡ Π΄Π»Ρ NuGet (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Azure Artifacts ΠΈΠ»ΠΈ ProGet). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ΅ΡΠ΅Π· HTTPS ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄ΠΎΠ²Π΅ΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠ΅ΠΌΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ. MSBuild ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ /m (multi-threading), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ° ΠΌΠΎΡΠ½ΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
ΡΡΠΎ Π΄Π°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΎΡΡ ΡΠΊΠΎΡΠΎΡΡΠΈ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ.NET Framework ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅?
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅Π΅ΡΡΡ Windows (regedit) ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΠΏΡΡΠΈ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Release ΡΠΊΠ°ΠΆΠ΅Ρ ΡΠΎΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PowerShell ΠΊΠΎΠΌΠ°Π½Π΄Ρ: Get-ChildItem -Path'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse -ErrorAction SilentlyContinue | Get-ItemProperty -Name Version -ErrorAction SilentlyContinue | Select-Object PSChildName, Version.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ MSBuild Π±Π΅Π· Visual Studio?
ΠΠ°, ΠΌΠΎΠΆΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²"Build Tools for Visual Studio". ΠΠ½ Π²Π΅ΡΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΉ IDE ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ MSBuild. ΠΡΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ VS Code ΠΈΠ»ΠΈ Rider.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ NuGet Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΠΏΡΠΎΠΊΡΠΈ?
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΠΉΠ» nuget.config Π² ΠΏΠ°ΠΏΠΊΠ΅ %AppData%\NuGet. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ°ΠΌ Π΅ΡΡΡ ΡΠ΅ΠΊΡΠΈΡ Ρ ΠΊΠ»ΡΡΠ°ΠΌΠΈ http_proxy ΠΈ http_proxy.user. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π»ΠΈ Π°Π½ΡΠΈΠ²ΠΈΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ nuget.exe ΠΈΠ»ΠΈ dotnet.exe.