dotnet migrate

本文 适用于: ✔️ .NET Core 2.x SDK

名字

dotnet migrate - 将预览版 2 .NET Core 项目迁移到 .NET Core SDK 样式项目。

概要

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

描述

此命令已弃用。 从 .NET Core 3.0 SDK 开始,dotnet migrate 命令不再可用。 它只能将预览版 2 .NET Core 项目迁移到不支持的 1.x .NET Core 项目。

默认情况下,该命令迁移根项目和根项目包含的任何项目引用。 在运行时使用 --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.jsonglobal.json*.xproj 移动到 backup 目录。

-t|--template-file <TEMPLATE_FILE>

要用于迁移的模板 csproj 文件。 默认情况下,使用与 dotnet new console 删除的模板相同的模板。

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

在迁移的应用中引用的 sdk 包的版本。 默认值为 dotnet new中的 SDK 版本。

-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