Как писать на C# на linux

23.08.2017 at 22:02


Я почти год не писал на C#, переквалифицировался в Dart разработчика и пересел на ubuntu как нормальный фронтендер. За это время в мире дот нета произошло много всего интересного, что прошло мимо меня. Например вышел .Net Core 2.0, что позволило писать приложения на линуксе. С первой версией конечно тоже можно было, но я стараюсь не использовать ничего от Microsoft первой версии.

Пишем приложение на C# на ubuntu

Для начала устанавливаем SDK. Детальная инструкция лежит здесь.

После этого устанавливаем Visual Studio Code.

После этого в папке с проектами выполняем команду

dotnet new console -o helloworld

Результатом работы этой команды будет консольный проект helloworld в соответствующей папке.

Вообще из коробки идет несколько шаблонов, не только консоль:

Console Application                               console          [C#], F#, VB           
Class library                                     classlib         [C#], F#, VB           
Unit Test Project                                 mstest           [C#], F#, VB              
xUnit Test Project                                xunit            [C#], F#, VB               
ASP.NET Core Empty                                web              [C#], F#                    
ASP.NET Core Web App (Model-View-Controller)      mvc              [C#], F#                      
ASP.NET Core Web App                              razor            [C#]              
ASP.NET Core with Angular                         angular          [C#]              
ASP.NET Core with React.js                        react            [C#]                      
ASP.NET Core with React.js and Redux              reactredux       [C#]                      
ASP.NET Core Web API                              webapi           [C#], F#                   
global.json file                                  globaljson                                      
Nuget Config                                      nugetconfig                                     
Web Config                                        webconfig                                       
Solution File                                     sln                                           
Razor Page                                        page                                       
MVC ViewImports                                   viewimports                                
MVC ViewStart                                     viewstart                                  

Можно создавать и свои шаблоны.

Теперь открываем созданную папку в VSCode и ставим расширение C# от Microsoft. Не забываем перезагрузить окно после установки расширения. Среда разработки предложит создать ассеты для проекты, соглашаемся. После этого в папке .vscode будут созданы 2 файла: launch.json и tasks.json. Они нужны для запуска приложения из среды и отладки.

Все, теперь мы можем запускать приложение из VSCode и отлаживать. Запускать можно и из консоли, выполнив команду

dotnet run

Как подключить nuget пакет в .Net Core

Зависимости подключаются с помощью команды

dotnet add package

подключим к нашему приложению библиотеку Newtonsoft.Json

dotnet add package Newtonsoft.Json

VSCode предложит нам восстановить зависимости. Соглашаемся.

Теперь мы можем использовать библиотеку

using Newtonsoft.Json;
...
var json = JsonConvert.SerializeObject(obj);