Учебники

.NET Core — Миграции

В этой главе мы перенесем консольное приложение, которое содержит систему сборки файлов project.json вместо MSBuild (* .csproj) . Итак, у нас есть старый проект, который содержит следующие файлы.

Следующие файлы

Теперь вопрос, зачем нам миграция? Этот проект создан с использованием инструментария .NET Core 1.0 preview 2, и теперь мы установили инструментарий .NET Core 2.0 preview 1. Теперь, когда вы создаете это приложение с помощью утилиты командной строки .NET Core 2.0, вы увидите следующую ошибку.

Следующая ошибка

Это связано с тем, что система сборки project.json больше не доступна в .NET Core 2.0, поэтому нам нужна миграция, чтобы она могла работать должным образом. Чтобы увидеть доступные команды, давайте запустим следующую команду.

dotnet help 

В разделе команд вы можете увидеть различные команды и команду migrate, которая перенесет проект, основанный на project.json, в проект, основанный на MSBuild.

мигрировать

Давайте теперь запустим следующую команду.

dotnet migrate 

Вы увидите сводную информацию о процессе миграции и здесь вы также увидите, что проект успешно перенесен.

Миграция Успешная

Давайте теперь посмотрим на структуру каталогов с помощью следующей команды.

tree /f 

Теперь вы увидите файл * .csproj вместе с файлом Program.cs в корневом каталоге проекта, а файл project.json будет перемещен в папку резервного копирования.

Папка резервного копирования

Давайте откроем файл console.csproj . Теперь вы можете восстановить и собрать этот проект с помощью системы MSBuild, выполнив следующую команду.

dotnet restore 

Теперь вы можете видеть, что все пакеты восстановлены.

Dotnet Restore

Теперь вы можете построить свой проект с помощью следующей команды.

dotnet build 

Теперь вы можете видеть, что проект успешно собран с использованием MSBuild и console.dll также генерируется в папке .. \ bin \ Debug \ netcoreapp1.0 .

MSBuild

На следующем снимке экрана показана структура каталогов и файлов.