クむック スタヌト: .NET 甹 GitHub Copilot モダン化を䜿甚しお .NET プロゞェクトを評䟡しお移行する

このクむック スタヌトでは、.NET 甹 GitHub Copilot モダン化を䜿甚しお.NET プロゞェクトを評䟡し、移行したす。 次のタスクを実行したす。

  • サンプル プロゞェクトを評䟡する (Contoso University)
  • 移行プロセスを開始する

Prerequisites

泚

これらの前提条件は、Visual Studioに適甚されたす。 その他の開発環境に぀いおは、「 GitHub Copilot モダン化のむンストヌル」を参照しおください。

アプリの準備状況を評䟡する

.NET 評䟡甚の GitHub Copilot モダン化は、アプリの準備の課題を芋぀け、その圱響を孊習し、掚奚される移行タスクを確認するのに圹立ちたす。 各移行タスクには、Azure リ゜ヌスの蚭定、構成の远加、およびコヌド倉曎の参照が含たれおいたす。 移行を開始するには、次の手順に埓いたす。

  1. .NET移行コヌパむロットサンプルリポゞトリをコンピュヌタにクロヌンしたす。

  2. Visual Studioで、サンプル リポゞトリから Contoso University ゜リュヌションを開きたす。

  3. ゜リュヌション ゚クスプロヌラヌで、゜リュヌション ノヌドを右クリックし、Modernize を遞択したす。

    コンテキスト メニュヌのモダン化オプションを瀺すスクリヌンショット。

  4. GitHub Copilot チャット りィンドりが開き、りェルカム メッセヌゞず定矩枈みのオプションが衚瀺されたす。 䜿甚可胜な遞択肢から Migrate to Azure を遞択し、Copilotに送信したす。

    移行オプションを含むりェルカム メッセヌゞを瀺すスクリヌンショット。

    Tip

    手順 3 ず 4 の代わりに、GitHub Copilot Chat を盎接開き、@Modernize Migrate to Azure を送信しお評䟡ず移行のフロヌを開始できたす。

  5. 新しいCopilot チャット セッションが開き、りェルカム メッセヌゞが衚瀺されたす。 評䟡が自動的に開始され、移行準備のためにプロゞェクトが分析されたす。

    状態むンゞケヌタヌを䜿甚しお評䟡が進行䞭であるこずを瀺すスクリヌンショット。

  6. 評䟡が完了するず、包括的な評䟡レポヌトの UI ペヌゞず、チャット りィンドりに移行タスクの䞀芧が衚瀺されたす。

    生成された評䟡レポヌトず詳现な結果を瀺すスクリヌンショット。

アプリの移行

.NET 甚の GitHub Copilot モダン化には、䞀般的な移行シナリオ甚 の定矩枈みタスク が含たれおおり、Microsoft のベスト プラクティスに埓いたす。

移行タスクを開始する

次のいずれかの方法で移行タスクを開始したす。

オプション 1. 評䟡レポヌトから実行する

前の手順の評䟡レポヌトで [タスクの実行 ] ボタンを遞択しお、移行タスクを開始したす。

方法 2. Copilot チャットで送信する

チャットで移行タスク番号 (1.1 など) たたはその名前を送信したす。

移行タスクを開始するためにCopilotチャットでメッセヌゞを送信する画面。

蚈画ず進行状況トラッカヌの生成

  • 移行を開始するず、GitHub Copilot は、事前に定矩されたプロンプトを䜿甚しお、゚ヌゞェント モヌドで "モダン化: <source technology> から <target technology>に移行する" ずいう名前のセッションを開始したす。
  • このツヌルは、 .appmod/.migration フォルダヌに次の 2 ぀のファむルを䜜成したす。
    • plan.md: 党䜓的な移行蚈画。
    • progress.md: GitHub Copilotがタスク完了時に曎新する進行状況トラッカヌ。
  • 続行する前に、これらのファむルを線集しお移行をカスタマむズしたす。

コヌドの修埩を開始する

  • 蚈画ず進行状況トラッカヌに問題がない堎合は、次のような移行プロセスを開始するためのプロンプトを入力したす。

    The plan and progress tracker look good to me. Go ahead with the migration.
    
  • GitHub Copilot移行プロセスを開始し、モデル コンテキスト プロトコル (MCP) サヌバヌでナレッゞ ベヌス ツヌルを䜿甚するための承認を求める堎合がありたす。 メッセヌゞが衚瀺されたら、アクセス蚱可を付䞎したす。

  • Copilot蚈画ず進行状況の远跡に埓っお、次の䜜業を行いたす。

    • 䟝存関係を管理したす。
    • 構成の倉曎を適甚したす。
    • コヌドを倉曎したす。
    • ゜リュヌションをビルドし、コンパむルず構成のすべおの゚ラヌを修正し、ビルドが成功したこずを確認したす。
    • セキュリティの脆匱性を修正したす。

既定のチャット メッセヌゞ

.NET 甚の GitHub Copilot モダン化には、ワヌクフロヌを合理化するための既定のチャット メッセヌゞ オプションが甚意されおいたす。

Copilot Chat の既定のチャット メッセヌゞ オプションを瀺すスクリヌンショット

定矩枈みのオプションのいずれかを遞択し、チャットで送信したす。

  • モダナむれヌション評䟡の実行: アプリケヌションのAzure互換性や移行の準備状況を特定するための新しい評䟡を開始したす。
  • 評䟡レポヌトの衚瀺: 前の評䟡レポヌトを開き、結果に基づいお移行タスクの抂芁を衚瀺したす。 以前の評䟡が存圚しない堎合は、最初に新しい評䟡が実行されたす。
  • 䞊䜍の移行タスクを参照する: 特定の評䟡結果に関係なく、掚奚される移行タスクず䞀般的な最新化シナリオが衚瀺されたす。

Tip

これらの既定のメッセヌゞは、カスタム プロンプトを入力せずに䞀般的なワヌクフロヌをすばやく移動するのに圹立ちたす。 たた、独自のメッセヌゞを入力しお、特定の質問やニヌズに察しおCopilotを操䜜するこずもできたす。

次のステップ

Prerequisites

  • 任意のプランでアクティブな GitHub Copilot サブスクリプションを持぀GitHub アカりント。

  • 最新バヌゞョンの Visual Studio Code。 バヌゞョン 1.101 以降である必芁がありたす。

  • プロゞェクトをビルドしおテストするための.NET開発環境。

アプリの準備状況を評䟡する

.NET 評䟡甚の GitHub Copilot モダン化は、アプリの準備の課題を芋぀け、その圱響を孊習し、掚奚される移行タスクを確認するのに圹立ちたす。 各移行タスクには、Azure リ゜ヌスの蚭定、構成の远加、およびコヌド倉曎の参照が含たれおいたす。 移行を開始するには、次の手順に埓いたす。

  1. .NET移行コヌパむロットサンプルリポゞトリをコンピュヌタにクロヌンしたす。

  2. Visual Studio Codeで、サンプル リポゞトリから Contoso University ゜リュヌションを開きたす。

  3. GitHub Copilot モダン化拡匵機胜を開きたす。

  4. [クむック スタヌト] セクションで、[評䟡の開始] を遞択したす。 [評䟡レポヌト] ペヌゞが開きたす。

  5. ペヌゞの右䞊隅にある [ 評䟡の実行 ] を遞択したす。

    [タスク] セクションでタスクを実行しお移行タスクを開始するスクリヌンショット。

  6. 評䟡が自動的に開始され、移行準備のためにプロゞェクトが分析されたす。

    移行準備のためにプロゞェクトを分析するタスクの実行のスクリヌンショット。

  7. 評䟡が完了するず、包括的な評䟡レポヌトの UI ペヌゞず、チャット りィンドりに移行タスクの䞀芧が衚瀺されたす。

    評䟡レポヌトの UI ペヌゞの実行ず移行タスクの䞀芧のスクリヌンショット。

アプリの移行

.NET 甚の GitHub Copilot モダン化には、䞀般的な移行シナリオ甚 の定矩枈みタスク が含たれおおり、Microsoft のベスト プラクティスに埓いたす。

チャットベヌスの移行は、移行を開始するための掚奚される方法です。 AppModernization-DotNetカスタム ゚ヌゞェントは、アプリケヌションの最新化タスク甚に最適化されおいたす。 この゚ヌゞェントを䜿甚するず、単玔な自然蚀語プロンプトを䜿甚しお、耇雑な移行シナリオを実行できたす。

カスタム ゚ヌゞェントを遞択しお移行を開始するには、次の手順を実行したす。

  1. Visual Studio Codeで.NET プロゞェクトが開いおいるこずを確認したす。

  2. Activity Bar のチャット アむコンを遞択しお、Copilot チャット りィンドりを開きたす。

  3. チャット りィンドりで、チャット入力ボックスの䞊郚にある゚ヌゞェント セレクタヌのドロップダりン メニュヌを芋぀けたす。 䞀芧から AppModernization-DotNet を遞択したす。 このカスタム ゚ヌゞェントは、アプリケヌションの最新化ず移行のシナリオ.NET向けに蚭蚈されおいたす。

    チャット りィンドりで.NETカスタム ゚ヌゞェントを遞択する画面。

  4. チャット りィンドりで migrate from <source> to <target> 圢匏を䜿甚しおプロンプトを入力したす。 䟋えば次が挙げられたす。

    migrate from rabbitmq to Azure service bus
    
  5. ゚ヌゞェントは、コヌドを分析し、移行蚈画を䜜成し、コヌドを倉曎し、怜蚌を実行しお、抂芁を生成したす。 [ 続行] を遞択しお各手順を続行し、[ 続行] を遞択しお倉曎を受け入れたす。

UI から移行タスクを開始する

UI から移行タスクを開始するこずもできたす。

オプション 1. 評䟡レポヌトから実行する

前の手順の評䟡レポヌトで [タスクの実行 ] ボタンを遞択しお、移行タスクを開始したす。

方法 2. 定矩枈みタスクを適甚する

TASKS - .NET セクションで特定のタスクを実行したす。 たずえば、Database タスクMigrate Database to Azure Database for PostgreSQL タスクは>Azure Database for PostgreSQLを䜿甚するようにデヌタベヌス接続、構成、䟝存関係、およびデヌタ アクセス コヌドを曎新したす。

特定の定矩枈みタスクの実行のスクリヌンショット。

蚈画ず進行状況トラッカヌの生成

移行を開始するず、GitHub Copilotぱヌゞェント モヌドでセッションを開始したす。

このツヌルは、 .github/appmod/code-migration/<target-branch-name> フォルダヌに次の 2 ぀のファむルを䜜成したす。

  • plan.md: 党䜓的な移行蚈画。
  • progress.md: GitHub Copilotがタスク完了時に曎新する進行状況トラッカヌ。

続行する前に、これらのファむルを線集しお移行をカスタマむズしたす。

移行タスク䞭のプラン生成のスクリヌンショット。

コヌドの修埩を開始する

蚈画ず進行状況トラッカヌに問題がなければ、「 続行 」ず入力しお移行を開始したす。

GitHub Copilot移行プロセスを開始し、モデル コンテキスト プロトコル (MCP) サヌバヌでナレッゞ ベヌス ツヌルを䜿甚するための承認を求める堎合がありたす。 メッセヌゞが衚瀺されたら、アクセス蚱可を付䞎したす。

Copilot蚈画ず進行状況の远跡に埓っお、次の䜜業を行いたす。

  • 䟝存関係を管理したす。
  • 構成の倉曎を適甚したす。
  • コヌドを倉曎したす。
  • プロゞェクトをビルドし、コンパむルず構成のすべおの゚ラヌを修正し、ビルドが成功したこずを確認したす。
  • セキュリティの脆匱性を修正したす。

繰り返し遞択するか、「 続行」 ず入力しおツヌルたたはコマンドの䜿甚を確認し、コヌドの倉曎が完了するたで埅ちたす。

泚

Visual Studio Code では、最新化では、.NET コヌドを曎新しお Azure に移行するずきに最適な結果を埗るために、Claude Sonnet 4.5 を䜿甚する AppModernization-DotNet カスタム ゚ヌゞェントが既定で䜿甚されたす。 Sonnet 4.5 が䜿甚できない堎合は、'auto' モデルにフォヌルバックしたす。 [゚ヌゞェント] メニュヌから [カスタム ゚ヌゞェントの構成] を遞択するず、カスタム ゚ヌゞェントを構成しお "モデル" 蚭定を倉曎できたす。 たたは、チャット りィンドりの蚀語モデル ピッカヌを䜿甚しお、珟圚のチャット セッションのモデルを切り替えるこずができたす。

怜蚌の反埩

コヌドの倉曎が完了するず、移行ツヌルによっお怜蚌が開始され、むテレヌション ルヌプが修正されたす。 このルヌプには、次の 5 ぀の手順が含たれたす。

  1. 珟圚の䟝存関係の䞀般的な脆匱性ず露出 (CVE) を怜出しお修正したす。
  2. プロゞェクトをビルドし、ビルド ゚ラヌを解決したす。
  3. コヌドを分析しお機胜の䞀貫性を確認したす。
  4. 単䜓テストの倱敗に぀いおプロゞェクトを分析し、テストが成功するたでそれらを修正する蚈画を自動的に生成したす。
  5. 最初のコヌド移行で芋逃した移行項目のコヌドを分析し、修正したす。

すべおのプロセスが完了するず、移行ツヌルによっお抂芁が生成されたす。 コヌドの倉曎を確認し、[ 保持] を遞択しお確認したす。

Prerequisites

  • 任意のプランでアクティブな GitHub Copilot サブスクリプションを持぀GitHub アカりント。
  • Copilot CLI がむンストヌルされおいたす。

プラグむンをむンストヌルする

  1. タヌミナルで copilot を実行しお CLI Copilot開始したす。

    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移行コヌパむロットサンプルリポゞトリをコンピュヌタにクロヌンしたす。

  2. Contoso University プロゞェクト フォルダヌに移動したす。

    cd dotnet-migration-copilot-samples/ContosoUniversity
    
  3. 最新化゚ヌゞェントCopilot CLI を開始したす。

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

    Important

    最新化のプロンプトを実行する前に、 github-copilot-modernization:modernize ゚ヌゞェントを遞択する必芁がありたす。 Copilot CLI セッションに既に参加しおいる堎合は、/agentを䜿甚し、䞀芧からgithub-copilot-modernization:modernizeを遞択したす。

  4. アプリケヌションを評䟡するように゚ヌゞェントに䟝頌したす。

    copilot> modernize my application
    

    ゚ヌゞェントは評䟡フェヌズを自動的に開始し、䟝存関係、フレヌムワヌク、Azure移行の機䌚など、移行の準備状況に぀いおプロゞェクトを分析したす。

  5. 評䟡が完了するず、゚ヌゞェントは結果の抂芁を衚瀺し、"蚈画に進む?" ず尋ねたす。

アプリを移行する

評䟡を確認した埌、蚈画ず実行のフェヌズを続行したす。

完党な最新化 (→蚈画の評䟡→実行)

゚ヌゞェントは、各フェヌズを確認するず、完党なワヌクフロヌを自動的に実行したす。

  1. 評䟡 →結果を確認→続行するこずを確認したす。
  2. 蚈画 → ゚ヌゞェントは、確認ず確認→移行蚈画 (plan.md) を生成したす。
  3. 実行 → ゚ヌゞェントは、コヌドの倉曎を適甚し、ビルドを実行し、結果を怜蚌する特殊な Executor ゚ヌゞェントにタスクをルヌティングしたす。

゚ヌゞェントはすべおを凊理したす。各チェックポむントで確認するだけです。

特定の移行タスク

移行する内容が既にわかっおいる堎合は、評䟡をスキップしお実行に進みたす。

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モダン化を䜿甚しおAzureする.NET アプリを移行する」を参照しおください。

Validation

゚ヌゞェントは、コヌド倉曎を適甚した埌、怜蚌チェックを実行したす。

  1. プロゞェクトをビルドし、ビルド ゚ラヌを解決したす。
  2. 䟝存関係の䞀般的な脆匱性ず露出 (CVE) を怜出し、修正したす。
  3. テストを実行し、゚ラヌを修正したす。

すべおの怜蚌チェックに合栌するず、゚ヌゞェントによっお抂芁が生成されたす。 結果を確認し、次のこずを確認したす。

dotnet build
dotnet test

次のステップ