次の方法で共有


クイック スタート: .NET 用 GitHub Copilot アプリのモダン化を使用して .NET プロジェクトを評価して移行する

このクイック スタートでは、.NET 用 GitHub Copilot アプリのモダン化を使用して.NET プロジェクトを評価し、移行します。 次のタスクを実行します。

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

Prerequisites

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

.NET 評価用の GitHub Copilot アプリの最新化は、アプリの準備の課題を見つけ、その影響を学習し、推奨される移行タスクを確認するのに役立ちます。 各移行タスクには、Azure リソースの設定、構成の追加、およびコード変更の参照が含まれています。 移行を開始するには、次の手順に従います。

  1. .NET マイグレーション コパイロット サンプルのリポジトリをコンピューターにクローンします。

  2. Visual Studio で、サンプル リポジトリから Contoso University ソリューションを開きます。

  3. ソリューション エクスプローラーで、ソリューション ノードを右クリックし、[ 最新化] を選択します。

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

  4. GitHub Copilot チャット ウィンドウが開き、ウェルカム メッセージと定義済みのオプションが表示されます。 使用可能な選択肢から [ 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 Chat でメッセージを送信するスクリーンショット。

計画と進行状況トラッカーの生成

  • 移行を開始すると、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 チャットの既定のチャット メッセージ オプションを示すスクリーンショット。

定義済みのオプションのいずれかを選択し、チャットで送信します。

  • 最新化評価の実行: 移行準備の問題と Azure 互換性の課題を特定するために、アプリケーションの新しい評価を開始します。
  • 評価レポートの表示: 前の評価レポートを開き、結果に基づいて移行タスクの概要を表示します。 以前の評価が存在しない場合は、最初に新しい評価が実行されます。
  • 上位の移行タスクを参照する: 特定の評価結果に関係なく、推奨される移行タスクと一般的な最新化シナリオが表示されます。

Tip

これらの既定のメッセージは、カスタム プロンプトを入力せずに一般的なワークフローをすばやく移動するのに役立ちます。 また、独自のメッセージを入力して、特定の質問やニーズについて Copilot と対話することもできます。

次のステップ

Prerequisites

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

.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. アクティビティ バーのチャット アイコンを選択して、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] セクションで特定のタスクを実行します。 たとえば、[データベース タスク] の [データベース タスク] の [データベースから 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. 最初のコード移行で見逃した移行項目のコードを分析し、修正します。

すべてのプロセスが完了すると、移行ツールによって概要が生成されます。 コードの変更を確認し、[ 保持] を選択して確認します。

次のステップ