GitHub Copilotアプリの最新化は、プロジェクトを新しいバージョンの.NETにアップグレードし、.NETアプリケーションを迅速かつ自信を持ってAzureに移行するのに役立つGitHub Copilot エージェントです。 Visual Studio、Visual Studio Code、GitHub Copilot CLI、および GitHub.com 全体の評価、ソリューションの推奨事項、コード修正、検証について説明します。
このエージェントを使用して、次の操作を行います。
- 新しいバージョンの.NETにアップグレードします。
- テクノロジを移行し、Azureにデプロイします。
- .NET Framework からアップグレードする場合は特に、.NET アプリを最新化します。
- アプリケーションのコード、構成、依存関係を評価します。
- 適切なAzure リソースを計画して設定します。
- 問題を修正し、クラウド移行のベスト プラクティスを適用します。
- アプリが正常にビルドおよびテストされたことを検証します。
フィードバックを提供する
Microsoft は、お客様のフィードバックを評価し、それを使用してこのエージェントを改善します。 フィードバックを残すには、次の 2 つの方法があります。
Visual Studioでは、Suggest a feature オプションと Report a problem オプションを使用します。
@modernize-dotnet GitHub リポジトリで問題を提出します。
[前提条件]
エージェントGitHub Copilot使用する前に、開発環境でアプリの最新化を設定します。 インストール手順については、「Install GitHub Copilot app modernizationを参照してください。
.NET プロジェクトのアップグレード
モダン化エージェントは、次の種類の C# プロジェクトのアップグレードをサポートしています。
- ASP.NET Core (および MVC、Razor Pages、Web API などの関連テクノロジ)
- Blazor
- Azure Functions
- Windows Presentation Foundation (WPF)
- Windows フォーム
- クラス ライブラリ
- コンソール アプリ
アップグレードを開始するには、「 GitHub Copilot アプリの最新化を使用して.NET アプリをアップグレードする」を参照してください。
アップグレード パス
エージェントは、次のアップグレード パスをサポートしています。
- プロジェクトを古い.NETバージョンから最新バージョンにアップグレードします。
- .NET Framework プロジェクトを.NETにアップグレードします。
- 新機能を使用してコード ベースを最新化します。
- コンポーネントとサービスをAzureに移行します。
.NET プロジェクトをAzureに移行する
最新化エージェントは、自動分析、AI 駆動型コード修復、ビルドと脆弱性チェック、デプロイの自動化により、Azure移行を簡略化します。
分析とインテリジェントな推奨事項
Azure移行に対するアプリケーションの準備状況を評価し、依存関係と特定された問題に基づいて調整されたガイダンスを受け取ります。
AI を利用したコード修復
事前に定義されたベスト プラクティス コード パターンを適用して、最小限の手動作業で最新化を加速します。
ビルドと CVE の自動解決
アプリをビルドし、コンパイル エラーと脆弱性を解決し、開発を合理化します。
シームレスなデプロイ
Azureにデプロイし、コードを開発から運用に迅速に移行します。
移行のための定義済みタスク
.NET GitHub Copilotアプリの最新化には、業界のベスト プラクティスを取り込み、一般的な移行シナリオをカバーする定義済みのタスクが用意されています。
Azure SQL DB、Azure SQL MI、Azure PostgreSQL など、Azureに基づいてマネージド ID ベースのデータベースにアクセス
オンプレミスまたはレガシ データベース (DB2、Oracle DB、SQL Server など) から Azure SQL DB、Azure SQL Managed Instance、または Azure PostgreSQL に移行して、データレイヤーを最新化します。 セキュリティで保護されたマネージド ID 認証を使用します。
Azure ファイル ストレージへ移行
スケーラブルなクラウドベースのファイル管理のために、ファイル I/O 操作をローカル ファイル システムから Azure File Storage に移動します。
Azure Blob Storage へ移行します
オンプレミスまたはクロスクラウド オブジェクト ストレージ、またはローカル ファイル システム ファイル I/O を、非構造化データのAzure Blob Storageに置き換えます。
Microsoft Entra ID に移行します
最新の ID 管理のために、認証と承認を Windows Active Directory から Microsoft Entra ID (旧称 Azure AD) に移行します。
マネージド ID と Azure Key Vault 構成またはコードのプレーンテキスト資格情報を、シークレット管理用のセキュリティで保護されたマネージド ID とAzure Key Vaultに置き換えます。
Azure Service Bus に移行する
レガシまたはサードパーティのメッセージ キュー (MSMQ や RabbitMQ など) または Amazon SQS (AWS Simple Queue Service) からAzure Service Busに移行して、信頼性の高いクラウドベースのメッセージングを実現します。
Azure Communication Service の電子メールに移行する
スケーラブルで安全な電子メール配信のために、Azure Communication Service を使用して直接 SMTP 電子メール送信を置き換えます。
Apache Kafka 用 Confluent Cloud/Azure Event Hub に移行
Confluent Cloud または Azure Event Hubs を使用して、ローカルまたはオンプレミスの Kafka からマネージド イベント ストリーミングに移行します。
Azure で OpenTelemetry へ移行します
log4net、serilog、Windows イベント ログなどのローカル ログ フレームワークから、Azure上の OpenTelemetry に移行します。
マネージド ID を使用して Azure Cache for Redis に移行する
メモリ内またはローカルの Redis Cache の実装をAzure Cache for Redisに置き換えて、高可用性、スケーラビリティ、エンタープライズ レベルのセキュリティを実現します。
動作方法
アップグレードまたは移行プロセスを開始するには、次を参照してください。
開発環境で.NET プロジェクトまたはソリューションを開きます。
次のいずれかの方法を使用してエージェントを起動します。
Visual Studio :ソリューション エクスプローラー Modernize を選択します。 または、GitHub Copilot チャット ウィンドウを開き、「@Modernize」と入力します。-
Visual Studio Code: GitHub Copilot Chat パネルを開き、「
@modernize-dotnet」と入力します。 -
GitHub Copilot CLI: 「
@modernize-dotnet」と入力し、アップグレードまたは移行要求を続けます。 -
GitHub.com: リポジトリで
modernize-dotnetコーディング エージェントを使用します。
アップグレードまたは移行する内容をエージェントに伝えます。
モダン化エージェントにアプリのアップグレードを依頼Copilot、Git リポジトリで作業している場合は、最初に新しいブランチを作成するように求められます。 その後、Copilotは 3 段階のワークフローを実行します。 各ステージでは、リポジトリの の下に Markdown ファイルが書き込まれるので、続行する前に次の内容を確認できます。
.github/upgradesが以前の試行から既に存在する場合、Copilotは続行するか、新たに開始するかを確認します。
評価ステージ ()
Copilotは、プロジェクトの構造、依存関係、およびコード パターンを調べて、包括的な評価を構築します。 ドキュメントには、重大な変更、API 互換性の問題、非推奨のパターン、アップグレード スコープが記載されているため、注意が必要な内容を正確に把握できます。計画段階 ()
Copilotは、すべての問題を解決する方法を説明する詳細な仕様に評価を変換します。 この計画では、アップグレード戦略、リファクタリング アプローチ、依存関係のアップグレード パス、リスク軽減策について説明します。実行ステージ ()
Copilotは計画を順次に、検証基準を使用して具体的なタスクに分割します。 各タスクは、1つの変更と、それが成功したことをCopilotが確認する方法を記述します。
次に進む前に、 の Markdown ファイルを編集してアップグレード手順を調整するか、コンテキストを追加します。
アップグレードを実行する
各ステージが完了したら、必要に応じて生成されたタスクを確認して変更し、次のステージに進むようCopilotに指示します。
Execution ステージに到達したら、アップグレードを開始するようにCopilotに指示します。 Copilot問題が発生した場合、原因を特定し、修正プログラムを適用しようとします。 Copilot問題を修正できない場合は、ヘルプを求められます。 介入すると、Copilot行った変更から学習し、問題が再び発生した場合に自動的に適用しようとします。
アップグレードの結果
各タスクをCopilotが実行すると、.github/upgrades 内の tasks.md ファイルがすべてのステップの状態で更新されます。 このファイルを確認して進行状況を監視します。 このツールでは、プロセスのすべての部分に対して Git コミットが作成されるため、変更をロールバックしたり、変更内容を確認したりできます。
アップグレードが完了すると、Copilotチャット応答に次の手順が表示されます。
テレメトリ
このツールは、プロジェクトの種類、アップグレードの意図、およびアップグレード期間に関するデータを収集します。 開発環境はデータを収集して集計し、ユーザーを特定できる情報は含まれません。 Microsoft のプライバシー ポリシーの詳細については、「Visual Studio カスタマー エクスペリエンス向上プログラムを参照してください。
関連コンテンツ
.NET