共用方式為


dotnet migrate

本文適用於: ✔️ .NET Core 2.x SDK

名字

dotnet migrate - 將 Preview 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 命令。 它只能將 Preview 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 命令僅支援有效的 Preview 2 project.json型專案。 這表示您無法使用它將 DNX 或 Preview 1 project.json型專案直接移轉至 MSBuild/csproj 專案。 您必須先手動將專案移轉至 Preview 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