快速入門:評估並遷移使用 GitHub Copilot 現代化的 .NET 專案

在這個快速入門中,你將透過使用 GitHub Copilot 的 .NET 現代化系統來評估並遷移一個 .NET 專案。 您要完成下列工作:

  • 評估範例專案 (Contoso University)
  • 開始移轉過程

Prerequisites

備註

這些先決條件適用於 Visual Studio。 關於其他開發環境,請參見 GitHub Copilot 現代化安裝指南。

評估應用程式整備程度

GitHub Copilot 現代化用於 .NET 評估,幫助您發現應用程式準備度的挑戰、了解其影響,並查看建議的遷移任務。 每個遷移任務都包含設定 Azure 資源、新增設定及程式碼變更的參考資料。 請遵循下列步驟來開始移轉:

  1. 將 .NET 遷移 copilot 樣本庫 資料庫複製到你的電腦上。

  2. 在Visual Studio中,從樣本庫中開啟 Contoso University 解決方案。

  3. 在 方案總管 中,右鍵點擊解決方案節點,選擇 Modernize。

    顯示內容功能表中現代化選項的螢幕截圖。

  4. GitHub Copilot聊天視窗會打開,並附帶歡迎訊息和預設選項。 從可用選項中選擇 Migrate to Azure 並送給 Copilot。

    螢幕擷取畫面,顯示歡迎訊息和移轉選項。

    Tip

    你可以直接開啟 GitHub Copilot Chat,發送 @Modernize Migrate to Azure 開始評估與遷移流程,取代第 3 和第 4 步。

  5. 新的 Copilot 聊天會話開啟並顯示歡迎訊息。 評量會自動啟動,並分析您的專案是否準備好移轉。

    螢幕擷取畫面,顯示正在進行的評估,並具有狀態指標。

  6. 評估完成後,您會在聊天視窗中看到全面的評估報告 UI 頁面和移轉任務清單。

    螢幕擷取畫面,顯示產生的評估報告,其中包含詳細的發現項目。

應用程式移轉

GitHub Copilot 的 .NET 現代化包含了針對常見遷移情境 的預設任務 ,並遵循 Microsoft 的最佳實務。

開始移轉工作

以下列其中一種方式啟動移轉工作:

選項 1。 從評量報告中執行

選取上一個步驟的評量報告中的 [執行工作 ] 按鈕,以啟動移轉工作。

選項 2。 請加入 Copilot 聊天

在聊天中傳送移轉工作編號 (例如 1.1) 或其名稱。

截圖,顯示我在Copilot聊天中發送訊息以啟動遷移任務。

計劃和進度追蹤管理器生成

  • 當你開始遷移時,GitHub Copilot 會在代理模式下啟動一個名為「現代化:從 <source technology> 遷移到 <target technology>」的會話,並以預設的提示開始。
  • 該工具在資料夾中 .appmod/.migration 建立兩個檔案:
    • plan.md:整體遷移計畫。
    • progress.md:一個當任務完成時由 GitHub Copilot 更新的進度追蹤器。
  • 在繼續之前,請編輯這些檔案以自訂您的移轉。

開始程式碼修復

  • 如果您對計畫與進度追蹤器滿意,請輸入啟動遷移流程的提示,例如:

    The plan and progress tracker look good to me. Go ahead with the migration.
    
  • GitHub Copilot 會啟動遷移流程,並可能會請求您批准使用模型情境協定(MCP)伺服器中的知識庫工具。 出現提示時授予權限。

  • Copilot 會依照計畫和進度追蹤器來執行:

    • 管理相依性。
    • 套用設定變更。
    • 進行程式碼變更。
    • 建置解決方案,修正所有編譯與設定錯誤,確保建置成功。
    • 修復資安漏洞。

預設聊天訊息

GitHub Copilot 現代化版 .NET 提供預設的聊天訊息選項,以簡化您的工作流程。

截圖顯示Copilot聊天室預設聊天訊息選項。

選擇預設選項之一,並在聊天中發送:

  • 執行現代化評估:開始對您的應用程式進行新評估,以找出遷移準備問題及Azure相容性挑戰。
  • 檢視評量報告:開啟先前的評量報告,並根據結果顯示移轉工作的摘要。 如果先前的評量不存在,則會先執行新的評量。
  • 瀏覽熱門移轉工作:顯示建議的移轉工作和常見的現代化案例,無論任何特定評量結果為何。

Tip

這些預設訊息可協助您快速瀏覽常見工作流程,而無需輸入自訂提示。 你也可以輸入自己的訊息,與 Copilot 互動,針對特定問題或需求。

後續步驟

Prerequisites

評估應用程式整備程度

GitHub Copilot 現代化用於 .NET 評估,幫助您發現應用程式準備度的挑戰、了解其影響,並查看建議的遷移任務。 每個遷移任務都包含設定 Azure 資源、新增設定及程式碼變更的參考資料。 請遵循下列步驟來開始移轉:

  1. 將 .NET 遷移 copilot 樣本庫 資料庫複製到你的電腦上。

  2. 在Visual Studio Code中,從樣本庫中開啟 Contoso University 解決方案。

  3. 打開 GitHub Copilot 現代化 擴充功能。

  4. 在 快速開始 區塊中,選擇 開始評估。 評估 報告 頁面開啟。

  5. 請在頁面右上角選擇 「執行評估 」。

    任務部分中執行任務以啟動遷移任務的截圖。

  6. 評量會自動啟動,並分析您的專案是否準備好移轉。

    執行任務的截圖,分析你的專案是否能進行遷移準備。

  7. 評估完成後,您會在聊天視窗中看到全面的評估報告 UI 頁面和移轉任務清單。

    執行評估報告的介面截圖及遷移任務清單。

應用程式移轉

GitHub Copilot 的 .NET 現代化包含了針對常見遷移情境 的預設任務 ,並遵循 Microsoft 的最佳實務。

建議使用以聊天為基礎的方式來開始遷移。 自訂 AppModernization-DotNet 代理程式針對應用程式現代化任務進行優化。 這個代理讓你能用簡單的自然語言提示來執行複雜的遷移情境。

請完成以下步驟選擇客製代理並開始遷移:

  1. 確保你在 Visual Studio Code 裡開啟一個 .NET 專案。

  2. 在 活動欄選擇聊天圖示,開啟Copilot聊天視窗。

  3. 在聊天視窗中,找到位於聊天輸入框頂端的客服代理選擇下拉選單。 從列表中選擇 AppModernization-DotNet 。 此自訂代理程式專為 .NET 應用程式現代化與遷移場景設計。

    在聊天視窗中選取.NET自訂代理的截圖。

  4. 請在聊天視窗中輸入 migrate from <source> to <target> 提示,格式如下。 例如:

    migrate from rabbitmq to Azure service bus
    
  5. 代理會分析你的程式碼、建立遷移計畫、修改程式碼、執行驗證,並產生摘要。 選擇 繼續 進行每個步驟,並選擇 「保持 」以接受變更。

從使用者介面啟動遷移任務

你也可以從介面啟動遷移任務:

選項 1。 從評量報告中執行

選取上一個步驟的評量報告中的 [執行工作 ] 按鈕,以啟動移轉工作。

選項 2。 套用預先定義的任務

在 TASKS - .NET 區塊執行該特定任務。 例如,資料庫任務 下的 Migrate Database to 適用於 PostgreSQL 的 Azure 資料庫 任務會將你的資料庫連線、設定、相依關係與資料存取程式碼更新為使用 適用於 PostgreSQL 的 Azure 資料庫。

執行特定預設任務的截圖。

計劃和進度追蹤管理器生成

當你開始遷移時,GitHub Copilot會以代理模式啟動一個會話。

該工具會在資料夾中 .github/appmod/code-migration/<target-branch-name> 建立兩個檔案:

  • plan.md:整體遷移計畫。
  • progress.md:一個當任務完成時由 GitHub Copilot 更新的進度追蹤器。

在繼續之前,請編輯這些檔案以自訂您的移轉。

遷移任務中計畫產生的截圖。

開始程式碼修復

當你對計畫和進度追蹤器感到滿意時,輸入 繼續 開始遷移。

GitHub Copilot 會啟動遷移流程,並可能會請求您批准使用模型情境協定(MCP)伺服器中的知識庫工具。 出現提示時授予權限。

Copilot 會依照計畫和進度追蹤器來執行:

  • 管理相依性。
  • 套用設定變更。
  • 進行程式碼變更。
  • 建置專案,修正所有編譯與設定錯誤,確保建置成功。
  • 修復資安漏洞。

反覆選擇或輸入 「繼續 」以確認工具或指令的使用,並等待程式碼變更完成。

備註

在 Visual Studio Code 中,現代化預設使用 AppModernization-DotNet Claude Sonnet 4.5 的自訂代理程式,以便在更新 .NET 程式碼以遷移到 Azure 時取得最佳效果。 如果你無法使用 Sonnet 4.5,則會退回到「自動」模式。 你可以從代理選單中選擇「配置自訂代理程式」來設定自訂代理程式來修改「模型」設定。 或者,你也可以在聊天視窗中使用語言模型選擇器,為當前聊天時段切換模型。

驗證迭代

程式碼變更完成後,遷移工具會開始驗證與修正的迴圈。 此迴路包含以下五個步驟:

  1. 偵測目前相依中的常見漏洞與暴露(CVE)並加以修正。
  2. 建立專案並解決任何建置錯誤。
  3. 分析程式碼的功能一致性。
  4. 分析專案中的單元測試失敗,並自動產生修正計畫,直到測試通過為止。
  5. 分析程式碼中初期遷移中遺漏的項目並修正。

所有流程完成後,遷移工具會產生摘要。 檢閱程式碼變更,並選取 [ 保留] 來確認。

Prerequisites

安裝外掛

  1. 在終端機中,執行 copilot 啟動 Copilot CLI。

    copilot
    
  2. 新增市集並安裝外掛:

    /plugin marketplace add microsoft/github-copilot-modernization
    /plugin install github-copilot-modernization@github-copilot-modernization
    
  3. 確認外掛是否已安裝:

    /plugin list
    

    您應該在列表中看到 github-copilot-modernization 。

評估應用程式整備程度

GitHub Copilot 現代化評估能幫助你發現應用程式準備度挑戰、了解其影響,並查看建議的遷移任務。

  1. 將 .NET 遷移 copilot 樣本庫 資料庫複製到你的電腦上。

  2. 前往 Contoso 大學 專案資料夾:

    cd dotnet-migration-copilot-samples/ContosoUniversity
    
  3. 使用現代化代理啟動 Copilot CLI:

    copilot --agent=github-copilot-modernization:modernize
    

    這很重要

    您必須先選擇代理人 github-copilot-modernization:modernize ,才能執行任何現代化提示。 如果你已經在 Copilot CLI 會話中,請使用/agent並從清單中選擇github-copilot-modernization:modernize。

  4. 請代理人評估申請:

    copilot> modernize my application
    

    代理會自動啟動評估階段,並分析您的專案是否具備遷移準備度——包括相依性、框架及 Azure 遷移機會。

  5. 評估結束後,代理人會呈現調查結果摘要並詢問:「 開始規劃嗎?」

遷移你的應用程式

審查評估後,繼續進行規劃與執行階段。

全面現代化(評估→計畫→執行)

當你確認每個階段時,代理會自動執行完整的工作流程:

  1. 評估 →審查發現→確認繼續進行。
  2. 規劃 →代理人會產生遷移計畫(plan.md)→審查並確認。
  3. 執行 →代理程式將任務路由給專門的執行代理程式,這些代理程式會套用程式碼變更、執行建置並驗證結果。

客服人員會處理所有事情——只要在每個檢查點確認即可。

特定遷移任務

如果你已經知道要遷移什麼,可以跳過評估,直接進入執行階段:

copilot> migrate from local SQL Server to Azure SQL Database

多項任務請列出:

copilot> migrate from RabbitMQ to Azure Service Bus and upgrade to .NET 9

自動執行

若要完全自主執行且無需提示,請使用以下 --allow-all 標記:

copilot --agent=github-copilot-modernization:modernize --allow-all

企業號手冊

若要嵌入現代化政策,請將 Markdown 檔案放入目錄中 .github/modernize/playbook/ 。 在規劃階段,實務手冊的約束與評量結果合併——實務手冊政策優先於評量建議。

欲了解更多資訊,請參閱使用 Copilot CLI 中的 GitHub Copilot 現代化,將 .NET 應用程式遷移至 Azure。

Validation

代理程式套用程式碼變更後,會執行驗證檢查:

  1. 負責建置專案並解決任何建置錯誤。
  2. 偵測相依中的常見漏洞與暴露(CVE)並加以修正。
  3. 執行測試並修正任何故障。

所有驗證檢查通過後,代理人會產生摘要。 檢視結果並確認:

dotnet build
dotnet test

後續步驟