GitHub Copilot 升級是一個 GitHub Copilot 代理程式,幫助你快速且自信地將專案升級到更新版本的 .NET。 它會引導你進行評估、解決方案建議、程式碼修正,以及涵蓋Visual Studio、Visual Studio Code、GitHub Copilot CLI 和 GitHub.com 的驗證。
使用此代理程式:
- 升級至較新版本的 .NET。
- 將 .NET 應用程式現代化,尤其是從 .NET Framework 升級時。
- 評估應用程式的程式碼、組態和相依性。
- 驗證您的應用程式是否成功建置和測試。
情境
代理提供多種端對端現代化工作流程,稱為 情境。 每個情境都是一個受管理的工作流程,引導你完成特定類型的升級或遷移:
| 情境 | Description | 範例提示 |
|---|---|---|
| .NET版本升級 | 從較舊的 .NET 版本升級到 .NET 8、9、10 或更新版本。 | 」把我的解決方案升級到.NET 10“ |
| SDK 風格轉換 | 將舊有專案格式轉換為 SDK 風格。 | 「轉換成 SDK 風格」 |
| Newtonsoft.Json 升級 | 將 Newtonsoft.json 替換為 System.Text.Json。 | 「從 Newtonsoft.Json 升級」 |
| SqlClient 升級 | 從 System.Data.SqlClient 升級到 Microsoft。Data.SqlClient。 | 「更新 SqlClient」 |
| Azure Functions 升級 | 將 Azure Functions 從內部處理升級到隔離工作者模型。 | 「升級我的Azure Functions」 |
| 語意核心 與代理 | 將 語意核心 Agents 升級至 Microsoft Agent Framework。 | 「升級我的SK特工」 |
| Aspire 整合 | 新增Aspire對內部迴圈與 Azure 部署的支援。 | 「加入 Aspire 我的應用程式」 |
| Aspire 版本升級 | 將現有 Aspire 應用程式升級到更新版本。 | 「升級我的 Aspire 版本」 |
| WebForms 升級至 Blazor | 將 ASP.NET Web Forms 應用程式升級至 Blazor。 | 「將我的網頁表單應用程式遷移到 Blazor」 |
欲了解所有劇本及30+內建升級技能的完整參考,請參見 「情境與技能參考」。
提供意見反應
Microsoft重視你的回饋,並用來改進代理程式。 請使用以下任一選項留下回饋:
請在 Upgrade Agent 的 GitHub 倉庫提出問題。
先決條件
在使用代理程式前,先在你的開發環境中設定 GitHub Copilot 升級。 關於安裝步驟,請參見「安裝 GitHub Copilot 升級」。
升級 .NET 專案
升級代理支援升級以下類型的 C# 與 Visual Basic 專案:
- ASP.NET Core(以及相關技術如 MVC、Razor Pages 和 Web API)
- ASP.NET Web Forms
- Blazor
- Azure Functions
- Windows Presentation Foundation(WPF)
- Windows Forms
- WinUI
- .NET MAUI 與 Xamarin
- 類別庫
- 主控台應用程式
- 測試專案(MSTest、NUnit 與 xUnit)
要開始升級,請參考「使用 GitHub Copilot 升級升級 .NET 應用程式」。
支援的升級路徑
代理程式支援以下升級路徑:
| Source | 標的 |
|---|---|
| .NET 框架(任何版本) | .NET 8 或更新版本 |
| .NET 框架(任何版本) | .NET 框架 4.8.1 |
| .NET 核心 1.x–3.x | .NET 8 或更新版本 |
| .NET 5 或更新版本 | .NET 8 或更新版本 |
將 .NET 專案移轉至 Azure
要將您的 .NET 應用程式遷移到 Azure,請使用 GitHub Copilot 現代化代理程式。 現代化代理處理 Azure 專屬情境,如資料庫遷移、儲存、身份、訊息傳遞及部署。
透過儀表板監控升級
升級儀表板提供 GitHub Copilot CLI 及 GitHub Copilot 應用程式中升級會話的視覺化視圖。 利用其面板追蹤整體進度、情境、任務、專案、相依關係、評估結果、升級選項及客服活動。
要開啟儀表板,請在升級時請 Copilot 顯示。 該儀表板目前無法在 Visual Studio、Visual Studio Code 或其他 IDE 中使用。 關於每個面板的詳細資訊,請參閱 升級儀表板中的「監控升級」。
運作原理
要開始升級或遷移流程,請參見:
啟動代理人時,請使用以下其中一種方法:
-
Visual Studio:右鍵點擊 方案總管 中的解決方案或專案,選擇 Modernize。 或者,打開 GitHub Copilot Chat 視窗並輸入
@Modernize. -
Visual Studio Code:打開 GitHub Copilot Chat面板並輸入
@upgrade。 -
GitHub Copilot CLI:輸入
@upgrade,接著輸入您的升級或遷移請求。 -
GitHub Copilot 應用程式:在代理選擇器中,選擇
Upgrade。
-
Visual Studio:右鍵點擊 方案總管 中的解決方案或專案,選擇 Modernize。 或者,打開 GitHub Copilot Chat 視窗並輸入
告訴客服人員要升級或遷移什麼。
當你要求升級代理升級應用程式時,Copilot 會先提示你建立一個新分支,前提是你正在使用 Git 倉庫。 接著 Copilot 會評估你的專案並執行三階段工作流程。 每個階段會在你的倉庫裡產生 Markdown 檔案 .github/upgrades/{scenarioId} ,讓你在繼續前可以先檢視接下來的內容。 如果 .github/upgrades/{scenarioId} 已經從之前的嘗試中存在,Copilot 會詢問是否繼續或重新開始。
Copilot 首先檢視您的專案結構、相依關係及程式碼模式,建立完整的評估。 該 assessment.md 檔案列出了破壞性的變更、API 相容性問題、已棄用的模式以及升級範圍。
評估結束後,Copilot 會執行以下三個階段:
Assessment: Copilot檢視您的專案結構、相依性與程式碼模式,並提出策略決策供您檢視,例如升級策略(自下而上、自上而下或同時進行)、專案升級方法、技術現代化選項及相容性處理。 Copilot 將確認決策存為
upgrade-options.md。Planning: Copilot 將評估結果及您確認的選項轉換為詳細規格。 檔案記錄
plan.md了升級策略、重構方法、相依路徑及風險緩解措施。Execution: Copilot 將計畫拆解為連續且具體的任務,驗證標準則在
tasks.md。 每個任務都描述一個變更,以及 Copilot 如何確認成功。
在繼續前進之前,請編輯任何 Markdown 檔案 .github/upgrades/{scenarioId} ,調整升級步驟或加入上下文。
升級策略
在評估階段,代理人會評估您的解決方案,並建議以下策略之一:
| Strategy | 最適合用於 | Description |
|---|---|---|
| 自下而上 | 具有深度依賴圖的大型解 | 先升級葉子專案,再往上推進。 |
| 自上而下 | 關於主要應用的快速回饋 | 先升級應用程式專案,再修正相依性。 |
| 全能 | 小而簡單的解法 | 一次升級所有專案。 |
流量模式
代理程式支援兩種流程模式,控制暫停你的輸入次數:
- 自動: 代理人會不停歇地完成所有階段,只在真正的阻礙因素時停下。 最適合有經驗的使用者和簡單的升級。
- 引導: 代理人會在每個階段邊界暫停,讓你在繼續前檢視評估、計畫和任務。 最適合初次使用者和複雜解決方案。
可隨時透過說 「暫停」( 進入導引模式)或「 繼續」( 進入自動模式)切換模式。
狀態管理
代理會將所有升級狀態儲存在 .github/upgrades/{scenarioId}/。 資料夾包含:
| 檔案 | Purpose |
|---|---|
assessment.md |
你的方案分析 |
upgrade-options.md |
已確認的升級決策 |
plan.md |
有序任務計畫 |
tasks.md |
即時進度儀表板 |
scenario-instructions.md |
代理的持續記憶,包括偏好設定、決策與自訂指令 |
tasks/{taskId}/task.md |
每個任務的範圍與上下文 |
tasks/{taskId}/progress-details.md |
各任務執行筆記與結果 |
因為所有狀態都在這個資料夾裡,你可以關閉 IDE、切換工作階段,甚至切換開發環境(例如,從 VS Code 開始,然後在 Visual Studio 繼續)。 代理人從中斷的地方繼續。
Tip
請將 .github/upgrades/ 資料夾提交到你的分支。 已承諾狀態作為備用,讓團隊成員查看升級進度。
執行升級
每個階段完成後,檢視並修改產生的檔案,然後告訴 Copilot 繼續進入下一階段。
當你達到執行階段時,告訴Copilot開始升級。 如果 Copilot 遇到問題,會嘗試找出原因並套用修正方案。 如果 Copilot 無法修正問題,它會請求你的協助。 當你介入時,Copilot 會從你的變更中學習,並在問題再次出現時自動執行。
升級結果
當 Copilot 執行每個任務時,會更新 tasks.md 中的 .github/upgrades/{scenarioId} 檔案,更新每個步驟的狀態。 請檢視此檔案以監控進度。 Copilot 會為整個流程的每個部分建立一個 Git 提交,這樣你可以回滾變更或檢視被更改的內容。
升級完成後,Copilot 會在聊天回應中顯示下一步。
Telemetry
該工具會收集專案類型、升級意圖及升級時長的資料。 開發環境會收集並彙整資料,且不包含任何可識別使用者的資訊。 欲了解更多關於Microsoft隱私政策的資訊,請參閱Visual Studio客戶體驗改善計畫。