Как писать на C# на linux
Я почти год не писал на 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);