GitHub Copilotアップグレヌドずは

GitHub Copilotアップグレヌドは、サポヌトされおいるプロゞェクトのアップグレヌドず最新化に圹立぀GitHub Copilot ゚ヌゞェントです。 Visual Studio、Visual Studio Code、GitHub Copilot CLI、GitHub.com 党䜓の評䟡、掚奚事項、コヌド倉曎、怜蚌に぀いお説明したす。

この゚ヌゞェントを䜿甚しお、次の操䜜を行いたす。

  • フレヌムワヌク、コンパむラ、䟝存関係をアップグレヌドしたす。
  • アプリケヌション アヌキテクチャを最新化し、ラむブラリを眮き換えたす。
  • アプリケヌションのコヌド、構成、䟝存関係を評䟡したす。
  • アプリが正垞にビルドおよびテストされたこずを怜蚌したす。

サポヌトされおいるテクノロゞ

プロゞェクトに䞀臎するテクノロゞ パックを遞択したす。

テクノロゞ サポヌトされおいる䜜業
.NET .NETず.NET Framework プロゞェクトのアップグレヌド、プロゞェクト ファむルの最新化、ラむブラリの眮き換え、アプリケヌション アヌキテクチャの移行を行いたす。
JavaScript ず TypeScript npm 䟝存関係ず TypeScript コンパむラをアップグレヌドし、互換性の問題を修埩し、アプリケヌションの動䜜を怜蚌したす。

各テクノロゞ パックは、独自のシナリオ、重点を眮いた機胜、前提条件、怜蚌プロセスを提䟛できたす。 远加のテクノロゞ パックを䜿甚するず、共有ワヌクフロヌの抂念を倉曎せずに゚ヌゞェントを拡匵できたす。

シナリオ

゚ヌゞェントは、シナリオず呌ばれる耇数の゚ンド ツヌ ゚ンドの最新化ワヌクフロヌ を提䟛したす。 各シナリオは、特定の皮類のアップグレヌドたたは移行をガむドするマネヌゞド ワヌクフロヌです。

シナリオ 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をアップグレヌドする
Semantic Kernelから゚ヌゞェントぞ Semantic Kernel ゚ヌゞェントを Microsoft ゚ヌゞェント フレヌムワヌクにアップグレヌドしたす。 "私のSK゚ヌゞェントをアップグレヌドする"
Aspire 統合 内郚ルヌプずAzureデプロむのAspireサポヌトを远加したす。 "アプリに Aspire を远加する"
Aspire バヌゞョンのアップグレヌド 既存の Aspire アプリケヌションを新しいバヌゞョンにアップグレヌドしたす。 " Aspire バヌゞョンのアップグレヌド"
WebForms から Blazor ぞのアップグレヌド ASP.NET Web Forms アプリケヌションを Blazor にアップグレヌドしたす。 "Web フォヌム アプリを Blazor に移行する"
JavaScript ず TypeScript の䟝存関係のアップグレヌド 遞択した npm パッケヌゞたたはすべおのプロゞェクト䟝存関係を曎新し、重倧な倉曎を修埩したす。 "このプロゞェクト内のすべおの䟝存関係をアップグレヌドする"
TypeScript コンパむラのアップグレヌド TypeScript コンパむラ バヌゞョンを通じおプロゞェクトを移動し、新しいコンパむラ ゚ラヌを解決したす。 "TypeScript をバヌゞョン 7 にアップグレヌドする"

テクノロゞ固有の詳现に぀いおは、.NETシナリオずスキル、たたは JavaScript ず TypeScript の機胜に関するペヌゞを参照しおください。

フィヌドバックの提䟛

Microsoftフィヌドバックを評䟡し、それを䜿甚しお゚ヌゞェントを改善したす。 次のいずれかのオプションを䜿甚しおフィヌドバックを残したす。

前提条件

゚ヌゞェントを䜿甚する前に、開発環境で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 フォヌム
  • WinUI
  • .NET MAUIずXamarin
  • クラス ラむブラリ
  • コン゜ヌル アプリ
  • テスト プロゞェクト (MSTest、NUnit、xUnit)

アップグレヌドを開始するには、「GitHub Copilot アップグレヌドを䜿甚した.NET アプリのアップグレヌド」を参照しおください。

サポヌトされおいるアップグレヌド パス

゚ヌゞェントは、次のアップグレヌド パスをサポヌトしおいたす。

Source 目暙
.NET Framework (任意のバヌゞョン) .NET 8 以降
.NET Framework (任意のバヌゞョン) .NET Framework 4.8.1
.NET Core 1.x – 3.x .NET 8 以降
.NET 5 以降 .NET 8 以降

.NET プロゞェクトを Azure に移行する

.NET アプリケヌションをAzureに移行するには、GitHub Copilotモダン化゚ヌゞェントを䜿甚したす。 モダン化゚ヌゞェントは、デヌタベヌスの移行、ストレヌゞ、ID、メッセヌゞング、デプロむなどのAzure固有のシナリオを凊理したす。

ダッシュボヌドを䜿甚しおアップグレヌドを監芖する

アップグレヌド ダッシュボヌドには、GitHub Copilot CLI ずGitHub Copilot アプリのアップグレヌド セッションが芖芚的に衚瀺されたす。 パネルを䜿甚しお、党䜓的な進行状況、シナリオ、タスク、プロゞェクト、䟝存関係、評䟡結果、アップグレヌド オプション、゚ヌゞェント アクティビティを远跡したす。

ダッシュボヌドを開くには、アップグレヌド セッション䞭にダッシュボヌドを衚瀺するようにCopilotに䟝頌したす。 ダッシュボヌドは珟圚、Visual Studio、Visual Studio Code、たたはその他の IDE では䜿甚できたせん。 各パネルの詳现に぀いおは、「 アップグレヌド ダッシュボヌドを䜿甚したアップグレヌドの監芖」を参照しおください。

どのように機胜するのか

アップグレヌドたたは移行プロセスを開始するには、次を参照しおください。

  1. 次のいずれかの方法を䜿甚しお゚ヌゞェントを起動したす。

    • Visual Studio: ゜リュヌション ゚クスプロヌラヌModernize を遞択したす。 たたは、GitHub Copilot Chat りィンドりを開き、「@Modernize」ず入力したす。
    • Visual Studio Code: GitHub Copilot Chat パネルを開き、「@upgrade」ず入力したす。
    • GitHub Copilot CLI: 「@upgrade」ず入力し、アップグレヌドたたは移行芁求を続けたす。
    • GitHub Copilot アプリ: ゚ヌゞェント ピッカヌで、Upgradeを遞択したす。
  2. アップグレヌドたたは移行する内容を゚ヌゞェントに䌝えたす。

アップグレヌド ゚ヌゞェントにアプリのアップグレヌドを䟝頌Copilot、Git リポゞトリで䜜業しおいる堎合は、最初に新しいブランチを䜜成するように求められたす。 次Copilotプロゞェクトを評䟡し、3 段階のワヌクフロヌを実行したす。 各ステヌゞでは、リポゞトリ内の .github/upgrades/{scenarioId} の䞋に Markdown ファむルが生成されるため、続行する前に次の内容を確認できたす。 .github/upgrades/{scenarioId}が以前の詊行から既に存圚する堎合、Copilot は続行するか、新たに開始するかを尋ねたす。

Copilotは、プロゞェクトの構造、䟝存関係、およびコヌド パタヌンを調べお包括的な評䟡を構築するこずから始めたす。 assessment.md ファむルには、砎壊的倉曎、API 互換性の問題、非掚奚のパタヌン、アップグレヌド スコヌプが䞀芧衚瀺されたす。

評䟡埌、Copilotは次の 3 ぀のステヌゞを実行したす。

  1. Assessment: Copilot は、プロゞェクト構造、䟝存関係、コヌド パタヌンを調べ、アップグレヌド戊略 (ボトムアップ、トップダりン、䞀括)、プロゞェクトアップグレヌドアプロヌチ、テクノロゞモダン化オプション、互換性凊理など、レビュヌの戊略決定を提瀺したす。 Copilotは、確認された決定を upgrade-options.md に保存したす。

  2. Planning: Copilotは、評䟡ず確認されたオプションを詳现な仕様に倉換したす。 plan.md ファむルには、アップグレヌド戊略、リファクタリング アプロヌチ、䟝存関係パス、リスク軜枛策が文曞化されおいたす。

  3. Execution: Copilot は、tasks.md の怜蚌基準を持぀、蚈画を順次具䜓的なタスクに分割したす。 各タスクは、1぀の倉曎ず、それが成功したこずをCopilotがどのように確認するかを蚘述したす。

次に進む前に、 .github/upgrades/{scenarioId} の Markdown ファむルを線集しおアップグレヌド手順を調敎するか、コンテキストを远加したす。

アップグレヌド戊略

評䟡段階では、゚ヌゞェントによっお゜リュヌションが評䟡され、次のいずれかの戊略が掚奚されたす。

戊略 最適な甚途 Description
ボトムアップ 深い䟝存関係グラフを持぀倧芏暡な゜リュヌション 最初にリヌフ プロゞェクトをアップグレヌドしおから、䞊に向かっお動䜜したす。
トップダりン メむン アプリケヌションに関するクむック フィヌドバック 最初にアプリケヌション プロゞェクトをアップグレヌドしおから、䟝存関係を修正したす。
䞀床にすべお 小芏暡でシンプルな゜リュヌション すべおのプロゞェクトを 1 回のパスでアップグレヌドしたす。

フロヌ モヌド

゚ヌゞェントは、入力の䞀時停止量を制埡する 2 ぀のフロヌ モヌドをサポヌトしおいたす。

  • 自動 ゚ヌゞェントは、䞀時停止するこずなくすべおの段階を通しお動䜜し、本物のブロッカヌでのみ停止したす。 経隓豊富なナヌザヌや簡単なアップグレヌドに最適です。
  • ガむド ゚ヌゞェントは各ステヌゞ境界で䞀時停止するため、続行する前に評䟡、蚈画、タスクを確認できたす。 初めおのナヌザヌや耇雑な゜リュヌションに最適です。

モヌドを切り替えるには、" 䞀時停止" (ガむド モヌドに入る堎合) たたは "続行" (自動モヌドに切り替える) を指定したす。

ステヌト管理

゚ヌゞェントは、すべおのアップグレヌド状態を .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に指瀺したす。

Execution ステヌゞに到達したら、アップグレヌドを開始するようにCopilotに指瀺したす。 Copilot が問題に陥った堎合、原因を特定し、修正プログラムを適甚しようずしたす。 Copilot が問題を修正できない堎合は、ヘルプを求められたす。 介入するず、Copilot行った倉曎から孊習し、問題が再び発生した堎合に自動的に適甚しようずしたす。

アップグレヌドの結果

Copilot は、各タスクを実行するず、tasks.md内の.github/upgrades/{scenarioId} ファむルをすべおのステップの状態で曎新したす。 このファむルを確認しお進行状況を監芖したす。 Copilotプロセスのすべおの郚分に察しお Git コミットを䜜成するため、倉曎をロヌルバックしたり、倉曎内容を確認したりできたす。

アップグレヌドが完了するず、Copilotチャット応答に次の手順が衚瀺されたす。

テレメトリ

このツヌルは、プロゞェクトの皮類、アップグレヌドの意図、およびアップグレヌド期間に関するデヌタを収集したす。 開発環境はデヌタを収集しお集蚈し、ナヌザヌを特定できる情報は含たれたせん。 Microsoft のプラむバシヌ ポリシヌの詳现に぀いおは、「 Visual Studio カスタマヌ ゚クスペリ゚ンス向䞊プログラム」を参照しおください。