Поделиться через


миграция dotnet

эта статья относится к: ✔️ пакет SDK для .NET Core 2.x

Имя

dotnet migrate. Перенос проекта .NET Core предварительной версии 2 в проект пакета SDK для .NET Core.

Синопсис

dotnet migrate [<SOLUTION_FILE|PROJECT_DIR>] [--format-report-file-json <REPORT_FILE>]
    [-r|--report-file <REPORT_FILE>] [-s|--skip-project-references [Debug|Release]]
    [--skip-backup] [-t|--template-file <TEMPLATE_FILE>] [-v|--sdk-package-version]
    [-x|--xproj-file]

dotnet migrate -h|--help

Описание

Эта команда устарела. Команда dotnet migrate больше не доступна, начиная с пакета SDK для .NET Core 3.0. Он может перенести только проект .NET Core предварительной версии 2 в проект .NET Core версии 1.x, который не поддерживается.

По умолчанию команда переносит корневой проект и все ссылки на проекты, содержащиеся в корневом проекте. Это поведение отключено с помощью параметра --skip-project-references во время выполнения.

Миграцию можно выполнить на следующих ресурсах:

  • Один проект, указав файл project.json для переноса.
  • Все каталоги, указанные в файле global.json, передают путь к файлу global.json.
  • Файл solution.sln(x), где он переносит проекты, на которые ссылается решение.
  • Во всех подкаталогах данного каталога рекурсивно.

Команда dotnet migrate сохраняет перенесенный файл project.json внутри каталога backup, который он создает, если каталог не существует. Это поведение переопределяется с помощью параметра --skip-backup.

По умолчанию операция миграции выводит состояние процесса миграции на стандартные выходные данные (STDOUT). Если вы используете параметр --report-file <REPORT_FILE>, выходные данные сохраняются в указании файла.

Команда dotnet migrate поддерживает только допустимые проекты на основе предварительной версии 2 project.json. Это означает, что вы не можете использовать его для переноса проектов DNX или предварительной версии 1 project.jsonнепосредственно в проекты MSBuild/csproj. Сначала необходимо вручную перенести проект в проект на основе предварительной версии 2 project.json, а затем использовать команду dotnet migrate для переноса проекта.

Аргументы

PROJECT_JSON/GLOBAL_JSON/SOLUTION_FILE/PROJECT_DIR

Путь к одному из следующих вариантов:

  • файл project.json для миграции.
  • файл global.json: переносятся папки, указанные в global.json.
  • файл solution.sln(x): проекты, на которые ссылается решение, переносятся.
  • каталог для миграции: рекурсивно выполняет поиск project.json файлов для миграции в указанный каталог.

По умолчанию используется текущий каталог, если ничего не указано.

Параметры

--format-report-file-json <REPORT_FILE>

Файл отчета о миграции выходных данных в формате JSON, а не пользовательские сообщения.

-h|--help

Выводит краткую справку по команде.

-r|--report-file <REPORT_FILE>

Отчет о миграции выходных данных в файл в дополнение к консоли.

-s|--skip-project-references [Debug|Release]

Пропустить перенос ссылок на проект. По умолчанию ссылки на проекты переносятся рекурсивно.

--skip-backup

Пропустите перемещение project.json, global.jsonи *.xproj в каталог backup после успешной миграции.

-t|--template-file <TEMPLATE_FILE>

Файл csproj шаблона, используемый для миграции. По умолчанию используется тот же шаблон, что и один из удаленных dotnet new console.

-v|--sdk-package-version <VERSION>

Версия пакета sdk, на который ссылается перенесенное приложение. По умолчанию используется версия пакета SDK в dotnet new.

-x|--xproj-file <FILE>

Путь к используемому xproj-файлу. Требуется, если в каталоге проекта имеется несколько xproj.

Примеры

Перенос проекта в текущем каталоге и всех зависимостей проекта в проект:

dotnet migrate

Перенос всех проектов, включающих global.json файл:

dotnet migrate path/to/global.json

Переносите только текущий проект и не зависят от проекта в проект (P2P). Кроме того, используйте определенную версию пакета SDK:

dotnet migrate -s -v 1.0.0-preview4