Переход с ASP.NET к ASP.NET Core 1.1
Содержание:
- Введение
- Сравнение стеков технологий
- Полезные команды
- Сборка и запуск проекта
- Entity Framework Core
- Введение
Одним из направлений деятельности нашей компании является веб-разработка. Для разработки сайтов мы используем ASP.NET MVC, и, по обыкновению, хостингом для нашего добра служит Windows Server. Но время идет, появляются новые технологии, а старые технологии эволюционируют, как, впрочем, и желания наших клиентов.
Со временем возникла нужда запустить новый проект на хостинге linux. Все бы ничего, задача, казалось бы, относительно тривиальная. Но в потребностях значилось использование нашей CMS, написанной на стеке ASP.NET MVC 5, что значительно усложняло задачу.
Поразмышляв, мы решили что наиболее подходящим вариантом будет перенос наших наработок на стек ASP.NET Core. В процессе миграции на рельсы новых технологий возникло достаточно много интересных моментов и сложностей.
Сравнение стеков технологий
Ниже я сопоставил стеки технологий, использовавшихся для разработки наших проектов изначально и тех, что мы выбрали в качестве замены в процессе миграции.
- Windows Server 2008 — Debian 8.8
- IIS 7 — Kestrel в связке Nginx 1.12
- .NET framework 4.5 — .NET Core
- ASP.NET MVC 5 — ASP.NET Core 1.1
- Microsoft SQL — .NET Core 1.1
- Entity Framework 6.0 — Entity Framework 1.1
- Встроенный механизм для создания бандлов и минификации — WebPack 2
Полезные команды
Сборка и запуск проекта
Для запуска и сборки проекта можно использовать dotnet run
. Можно немного облегчить задачу и использовать команду dotnet run -watch
. Данная команда запускает dotnet в режиме наблюдения за изменениями кода, и когда происходят изменения, проект автоматически прособирается и запускается.
Чтобы ее использовать нужно добавить в файл проекта .csproj следующий код.
После сохранения нужно набрать dotnet restore
, для того чтобы необходимый пакет загрузился из NuGet в наш проект.
Entity Framework Core
Для создания миграции в Entity Framework Core можно использовать команду dotnet ef migrations add {название миграции}
.
Чтобы применить миграцию нужно использовать команду dotnet ef database update
.
Чтобы использовать эту команду нужно добавить в .csproj следующий код:
И, естественно, использовать после этого команду dotnet restore
.