dotnet migratedotnet migrate

Этот раздел относится к: ✓ пакету SDK для .NET Core 1.x и более поздних версийThis topic applies to: ✓ .NET Core 1.x SDK and later versions

nameName

dotnet migrate — перемещает проект .NET Core предварительной версии 2 в проект в стиле пакета SDK для .NET Core.dotnet migrate - Migrates a Preview 2 .NET Core project to a .NET Core SDK-style project.

Примечание

dotnet migrate будет удален из пакета SDK для .NET Core 3.0 в следующем выпуске предварительной версии.dotnet migrate will be removed from the .NET Core 3.0 SDK in the next preview release.

Краткий обзорSynopsis

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

ОПИСАНИЕDescription

Команда dotnet migrate переносит действительный проект предварительной версии 2 на основе project.json в действительный проект CSPROJ в стиле пакета SDK для .NET Core.The dotnet migrate command migrates a valid Preview 2 project.json-based project to a valid .NET Core SDK-style csproj project.

По умолчанию команда переносит корневой проект и все ссылки, которые он содержит.By default, the command migrates the root project and any project references that the root project contains. Это поведение можно отключить в среде выполнения с помощью параметра --skip-project-references.This behavior is disabled using the --skip-project-references option at runtime.

Миграция выполняется для следующих ресурсов:Migration can be performed on the following assets:

  • Отдельный проект посредством указания нужного файла project.json.A single project by specifying the project.json file to migrate.
  • Все каталоги, указанные в файле global.json, посредством передачи пути в файл global.json.All of the directories specified in the global.json file by passing in a path to the global.json file.
  • Файл solution.sln, куда переносятся проекты, на которые ссылается решение.A solution.sln file, where it migrates the projects referenced in the solution.
  • Рекурсивно все подкаталоги в этом каталоге.On all subdirectories of the given directory recursively.

Команда dotnet migrate сохраняет перенесенный файл project.json в каталоге backup (создается, если не существует).The dotnet migrate command keeps the migrated project.json file inside a backup directory, which it creates if the directory doesn't exist. Это поведение можно переопределить с помощью параметра --skip-backup.This behavior is overridden using the --skip-backup option.

По умолчанию операция миграции выводит состояние процесса миграции в стандартный вывод (STDOUT).By default, the migration operation outputs the state of the migration process to standard output (STDOUT). Если вы используете параметр --report-file <REPORT_FILE>, выходные данные сохраняются в указанном файле.If you use the --report-file <REPORT_FILE> option, the output is saved to the file specify.

Команда dotnet migrate поддерживает только допустимые проекты предварительной версии 2 на основе project.json.The dotnet migrate command only supports valid Preview 2 project.json-based projects. Это означает, что она не позволяет перенести проекты DNX или проекты предварительной версии 1 на базе project.json непосредственно в проекты MSBuild/CSPROJ.This means that you cannot use it to migrate DNX or Preview 1 project.json-based projects directly to MSBuild/csproj projects. Сначала нужно вручную перенести проект в проект версии 2 на основе project.json, а затем воспользоваться командой dotnet migrate для переноса проекта.You first need to manually migrate the project to a Preview 2 project.json-based project and then use the dotnet migrate command to migrate the project.

АргументыArguments

PROJECT_JSON/GLOBAL_JSON/SOLUTION_FILE/PROJECT_DIR

Путь к одному из следующих объектов:The path to one of the following:

  • переносимый файл project.json;a project.json file to migrate.
  • файл global.json: переносятся папки, указанные в global.json;a global.json file: the folders specified in global.json are migrated.
  • файл solution.sln: переносятся проекты, на которые ссылается решение;a solution.sln file: the projects referenced in the solution are migrated.
  • каталог для миграции: выполняется рекурсивный поиск переносимых файлов project.json в указанном каталоге.a directory to migrate: recursively searches for project.json files to migrate inside the specified directory.

Если значение не задано, по умолчанию используется текущий каталог.Defaults to current directory if nothing is specified.

ПараметрыOptions

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

Вывод отчета о миграции в файл JSON вместо отправки сообщений пользователю.Output migration report file as JSON rather than user messages.

-h|--help

Выводит краткую справку по команде.Prints out a short help for the command.

-r|--report-file <REPORT_FILE>

Вывод отчета о миграции в файл наряду с выводом в консоль.Output migration report to a file in addition to the console.

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

Пропуск ссылок проекта для миграции.Skip migrating project references. По умолчанию ссылки проекта переносятся рекурсивно.By default, project references are migrated recursively.

--skip-backup

Пропуск перемещения project.json, global.json и *.xproj в каталог backup после успешной миграции.Skip moving project.json, global.json, and *.xproj to a backup directory after successful migration.

-t|--template-file <TEMPLATE_FILE>

Файл CSPROJ шаблона для переноса.Template csproj file to use for migration. По умолчанию используется тот же шаблон, что и проигнорированный в dotnet new console.By default, the same template as the one dropped by dotnet new console is used.

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

Версия пакета SDK, на которую ссылается перенесенное приложение.The version of the sdk package that's referenced in the migrated app. По умолчанию используется версия пакета SDK в dotnet new.The default is the version of the SDK in dotnet new.

-x|--xproj-file <FILE>

Путь к файлу XPROJ, который будет использоваться.The path to the xproj file to use. Требуется, если в каталоге проекта несколько файлов XPROJ.Required when there is more than one xproj in a project directory.

ПримерыExamples

Перенос проекта в текущем каталоге и всех взаимных зависимостей проектов.Migrate a project in the current directory and all of its project-to-project dependencies:

dotnet migrate

Перенос всех проектов, включенных в файл global.json:Migrate all projects that global.json file includes:

dotnet migrate path/to/global.json

Перенос только текущего проекта без взаимных зависимостей проектов.Migrate only the current project and no project-to-project (P2P) dependencies. Кроме того, используется определенная версия пакета SDK:Also, use a specific SDK version:

dotnet migrate -s -v 1.0.0-preview4