рдкрд░рд┐рдЪрдп
рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдФрд░ ESP8266 рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╛рд░реНрдЯрди рд╡рд┐рдХрд╛рд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЖрд░рд╛рдорджрд╛рдпрдХ .Net рджреБрдирд┐рдпрд╛ рдореЗрдВ рд▓реМрдЯрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдСрдЯреЛ-рдкреВрд░реНрдгрддрд╛ рдФрд░ рдбреАрдмрдЧрд┐рдВрдЧ рд╣реИред
рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд╛рде рд╣реИ:
- рд╡рд┐рдВрдбреЛрдЬ 10 рдкреНрд░реЛ рдмрд┐рд▓реНрдб 1803 рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдиреАрдЪреЗ рд▓рд┐рдЦреЗ рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдиреНрдпреВрдирддрдо рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде * рдирд┐рдХреНрд╕ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)
- рд░рд╛рд╕реНрдкрд┐рдпрди рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдСрд░реЗрдВрдЬ рдкреА рдЬрд╝реАрд░реЛ рд╕реНрдерд╛рдкрд┐рдд
- C # рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдФрд░ F5 рджрдмрд╛рдХрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдбрд┐рдмрдЧ рдХрд░реЗрдВ
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рддреИрдпрд╛рд░реА
рдбреЗрд╡рд▓рдкрд░ рдХрдВрдкреНрдпреВрдЯрд░
рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд C#
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рд╕реНрдерд╛рдкрд┐рдд .NET рдХреЛрд░ SDK рдЖрд╡рд╢реНрдпрдХ рд╣реИред
Windows 10 1803 рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдирд╛ рднреА рдЙрдЪрд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ OpenSSH рдЗрд╕рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ 10 рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдХреЛ рдореИрдиреЗрдЬ рдРрдб-рдСрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдХреБрдЫ рднреА рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдПрд╕рдПрд╕рдПрдЪ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд▓рдХреНрд╖реНрдп рдбрд┐рд╡рд╛рдЗрд╕
рдЯреНрд░реЗрдирд┐рдВрдЧ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ SSH рдХреБрдВрдЬреА рдПрдХреНрд╕реЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдбрд┐рдЬрд┐рдЯрд▓ рдорд╣рд╛рд╕рд╛рдЧрд░ рд╕реЗ рдЙрддреНрдХреГрд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИред
* рдиреЛрдЯ:
рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ .sh рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ KeePass + KAAgent рдХреЗ рд╕реБрдВрджрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЧреБрдЪреНрдЫрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ ред KeePass рд╕реБрд░рдХреНрд╖рд┐рдд рдХреБрдВрдЬреА рд╕рдВрдЧреНрд░рд╣рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ KeeAgent рдХреБрдВрдЬреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд Windows SSH рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реЗрдЯрдЕрдк рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред *
.NET рдХреЛрд░ рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдЪреВрдВрдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Microsoft рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ ARM32 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдкреИрдХреЗрдЬ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ .NET Core SDK рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
apt-get install liblttng-ust0 libcurl3 libssl1.0.0 libkrb5-3 zlib1g libicu52 gettext
рдЕрдм рдЖрдк рдПрд╕рдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк GKHub рдкрд░ SDK рдкреГрд╖реНрда рд╕реЗ SDK рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдзрд╛ рд▓рд┐рдВрдХ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.1.401/dotnet-sdk-latest-linux-arm.tar.gz sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin
рджреВрд░рд╕реНрде рдбреАрдмрдЧрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рджреВрд░рд╕реНрде рдбреАрдмрдЧрд░ рд╕реНрдерд╛рдкрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ unzip
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ:
sudo apt-get install unzip
рджреВрд░рд╕реНрде рдбреАрдмрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -r linux-arm -v latest -l ~/vsdbg
рджреВрд░рд╕реНрде рддреИрдирд╛рддреА рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡реАрдПрд╕ рдХреЛрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
1. рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдБ
рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
mkdir DemoProject cd DemoProject dotnet new console
2. рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдБ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдЦреЛрд▓реЗрдВред рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ C # рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрд╡рддрдГ рд╣реА рдУрдордиреАрд╢рд░реНрдк рдФрд░ .NET рдХреЛрд░ рдбреАрдмрдЧрд░ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд▓реЗрдЧрд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдЗрд╕ рдкрд░ рд╕рд╣рдордд рд╣реИрдВред рдирддреАрдЬрддрди, .vscode
рдлреЛрд▓реНрдбрд░ tasks.json
рдФрд░ launch.json
рд╕рд╛рде .vscode
ред рдпреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдмрд┐рд▓реНрдб рдХрд╛рд░реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдбреАрдмрдЧ рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
3. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рд░рд┐рдореЛрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рд▓реЙрдиреНрдЪ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рджреВрд░рд╕реНрде рдбреАрдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рддреИрдпрд╛рд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреВрдВрдЧрд╛:
{ "version": "2.0.0", "tasks": [ { "label": "publish", "command": "dotnet", "type": "process", "args": [ "publish", "${workspaceFolder}/DemoProject.csproj" ] }, { "label": "copy-to-device", "dependsOn": "publish", "command": "scp", "type": "process", "args": [ "-r", "-v", "${workspaceFolder}/bin/Debug/netcoreapp2.1/publish/.", "<target_user>@<target_ip>:~/DemoProject/" ] }, ] }
publish
рдХрд╛рд░реНрдп dotnet publish
рдЖрджреЗрд╢ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреИрдХ рдХрд░рддрд╛ рд╣реИред
copy-to-device
рдХрдорд╛рдВрдб рд░рд┐рдореЛрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП scp
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрд╕ рдкрде рдХреЗ рдЕрдВрдд рдореЗрдВ рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдЬрд╣рд╛рдВ рд╕реЗ рдирдХрд▓ рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╛рдж рдХреА рдкреНрд░рддрд┐рдпреЛрдВ рдореЗрдВ, publish
рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ DemoProject
рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред dependsOn
рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ copy-to-device
publish
рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, copy-to-device
рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ copy-to-device
publish
рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рджреВрд░рд╕реНрде рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "copy-to-device", "program": "~/DemoProject/DemoProject.dll", "args": [], "cwd": "~/DemoProject", "console": "internalConsole", "stopAtEntry": false, "internalConsoleOptions": "openOnSessionStart", "pipeTransport": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "ssh", "pipeArgs": [ "-T", "<target_user>@<target_ip>" ], "debuggerPath": "~/vsdbg/vsdbg", "quoteArgs": true } } ,] }
"preLaunchTask": "copy-to-device"
рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ copy-to-device
рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд░ рдмрд╛рд░, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд▓рдХреНрд╖реНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
pipeTransport
рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдкрдХреЛ рджреВрд░рд╕реНрде рдбреАрдмрдЧрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, ssh
рдЙрдкрдпреЛрдЧ рдЙрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рд╡рд╣рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдирд╣реАрдВ plink.exe
рдХреЛ putty
рдкреНрд░реЛрдЧреНрд░рд╛рдо putty
рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
4. рдбрд┐рдмрдЧрд┐рдВрдЧ
F5 рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд░рд┐рдореЛрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдХреЗ рд╕рдорд╛рди рд╣реИред
рдиреЛрдЯ:
рдЖрд╡реЗрджрди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рд░ рдмрд╛рд░ рдореБрдЭреЗ Error from pipe program 'ssh': Process is terminating due to StackOverflowException
рд╕рдВрджреЗрд╢ Error from pipe program 'ssh': Process is terminating due to StackOverflowException
рдПрдХ Error from pipe program 'ssh': Process is terminating due to StackOverflowException
рдорд┐рд▓реА Error from pipe program 'ssh': Process is terminating due to StackOverflowException
ред GitHub рдкрд░ рдЦреБрд▓реЗ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рдбрд┐рдмрдЧрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреВрд░реА рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛
тЖТ рд░рд╛рд╕реНрдкрдмреЗрд░реА рдкрд╛рдИ рдкрд░ рд░рд╛рд╕реНрдкрд┐рдпрди рдФрд░ .NET рдХреЛрд░ 2.0 рдХреА рд╕реНрдерд╛рдкрдирд╛
тЖТ рдУрдореНрдирд┐рд╖рд░реНрдк-рд╡рд┐рд╕реНрдХреЛрд╕ рд░рд┐рдореЛрдЯ рдбрд┐рдмрдЧрд┐рдВрдЧ рд▓рд┐рдирдХреНрд╕ рдЖрд░реНрдо рдкрд░
тЖТ рдбреЙрдЯрдиреЗрдЯ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрдорд╛рдВрдб рд╕рд╣рд╛рдпрддрд╛
тЖТ C # рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП launch.json рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
тЖТ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛрдб рдХрд╛рд░реНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд