次の方法で共有


Visual Studio Code を使用して C# Service Fabric アプリケーションを開発する

VS Code 用の Service Fabric Reliable Services 拡張機能を使用すると、Windows、Linux、および macOS オペレーティング システム上で .NET Core Service Fabric アプリケーションを簡単にビルドできます。

この記事では、Visual Studio Code を使用して .NET Core Service Fabric アプリケーションをビルド、デプロイ、およびデバッグする方法について説明します。

前提条件

この記事では、VS Code、VS Code 用の Service Fabric Reliable Services 拡張機能、および開発環境に必要な依存関係が既にインストールされていることを前提としています。 詳細については、作業の開始に関するセクションを参照してください。

サンプルのダウンロード

この記事では、Service Fabric .NET Core getting started サンプルの GitHub リポジトリの CounterService アプリケーションを使用しています。

リポジトリを開発マシンに複製するには、ターミナル ウィンドウ (Windows ではコマンド ウィンドウ) から次のコマンドを実行します。

git clone https://github.com/Azure-Samples/service-fabric-dotnet-core-getting-started.git

VS Code でアプリケーションを開く

Windows

スタート メニューで VS Code アイコンを右クリックし、 [管理者として実行] を選択します。 サービスにデバッガーをアタッチするには、VS Code を管理者として実行する必要があります。

Linux

ターミナルを使用して、ローカルでアプリケーションが複製されたディレクトリからパス /service-fabric-dotnet-core-getting-started/Services/CounterService に移動します。

以下のコマンドを実行して VS Code をルート ユーザーとして開き、デバッガーがサービスにアタッチできるようにします。

sudo code . --user-data-dir='.'

アプリケーションが VS Code ワークスペースに表示されます。

ワークスペース内のカウンター サービス アプリケーション

アプリケーションのビルド

  1. (Ctrl + Shift + P キー) を押して VS Code でコマンド パレットを開きます。

  2. [Service Fabric:Build Application](Service Fabric: アプリケーションのビルド) コマンドを探して選択します。 ビルドの出力は統合ターミナルに送信されます。

    VS Code の [Build Application] (アプリケーションのビルド) コマンド

アプリケーションをローカル クラスターにデプロイする

アプリケーションをビルドしたら、ローカル クラスターにデプロイできます。

  1. コマンド パレットから [Service Fabric:Deploy Application (Localhost)](Service Fabric: アプリケーションのデプロイ (Localhost)) コマンドを選択します。 インストール プロセスの出力は統合ターミナルに送信されます。

    VS Code の [Deploy Application] (アプリケーションのデプロイ) コマンド

  2. デプロイが完了したら、ブラウザーを起動して Service Fabric Explorer を開きます (http://localhost:19080/Explorer.)。 アプリケーションが実行中であることがわかります。 この処理には時間がかかる場合があります。

    Service Fabric Explorer 内のカウンター サービス アプリケーション

  3. アプリケーションが実行されていることを確認したら、ブラウザーを起動して http://localhost:31002. のページを開きます。 これはアプリケーションの Web フロントエンドです。 カウンター値は増えるので、ページを更新して最新の値を表示します。

    ブラウザーのカウンター サービス アプリケーション

Azure Service Fabric クラスターにアプリケーションを発行する

ローカル クラスターにアプリケーションをデプロイするだけでなく、リモートの Azure Service Fabric クラスターにアプリケーションを発行することもできます。

  1. 上記の手順を使用してアプリケーションをビルドしたことを確認します。 生成された構成ファイル Cloud.json を、発行先となるリモート クラスターの詳細で更新します。

  2. コマンド パレットから Service Fabric: Publish Application(Service Fabric: アプリケーションの発行) コマンドを選択します。 インストール プロセスの出力は統合ターミナルに送信されます。

    VS Code のアプリケーションの発行コマンド

  3. デプロイが完了したら、ブラウザーを起動して Service Fabric Explorer を開きます (https:<clusterurl>:19080/Explorer)。 アプリケーションが実行中であることがわかります。 この処理には時間がかかる場合があります。

アプリケーションのデバッグ

VS Code でアプリケーションをデバッグする場合、ローカル クラスター上でアプリケーションを実行する必要があります。 ブレークポイントをコードに追加することができます。

ブレークポイントとデバッグを設定するには、次の手順を実行します。

  1. エクスプローラーで /src/CounterServiceApplication/CounterService/CounterService.cs ファイルを開き、RunAsync メソッド内の 62 行目にブレークポイントを設定します。

  2. VS Code でアクティビティ バーの [デバッグ] アイコンをクリックして、デバッガー ビューを開きます。 デバッガー ビューの上部にある歯車アイコンをクリックし、ドロップダウン メニューから [.NET Core] を選択します。 launch.json ファイルが開きます。 このファイルを複製できます。 実行ボタン (緑色の矢印) の横にあるデバッグ設定メニューに構成の選択肢が表示されます。

    VS Code ワークスペースの [デバッグ] アイコン

  3. デバッグの構成メニューから [.NET Core Attach](.NET Core のアタッチ) を選択します。

    [デバッグ構成] メニューで選択されている .NET Core Attach を示すスクリーンショット。

  4. ブラウザーで Service Fabric Explorer を開きます (http://localhost:19080/Explorer.)。 [アプリケーション] をクリックし、ドリルダウンして CounterService が実行されているプライマリ ノードを特定します。 以下の画像では、CounterService のプライマリ ノードはノード 0 です。

    CounterService のプライマリ ノード

  5. VS Code で、 [.NET Core Attach](.NET Core のアタッチ) デバッグ構成の横にある実行アイコン (緑の矢印) をクリックします。 プロセスの選択ダイアログで、手順 4 で特定したプライマリ ノード上で実行されている CounterService プロセスを選択します。

    プライマリ プロセス

  6. CounterService.cs ファイル内のブレークポイントにはすぐにヒットします。 ヒットしたら、ローカル変数の値を調べることができます。 VS Code の上部にある [デバッグ] ツールバーを使用して、実行の継続、行のステップ オーバー、メソッドへのステップ イン、現在のメソッドからのステップ アウトを行います。

    値をデバッグする

  7. デバッグ セッションを終了するには、VS Code の上部にある [デバッグ] ツールバーのプラグ アイコンをクリックします。

    デバッガーから切断する

  8. デバッグが完了したら、 [Service Fabric:Remove Application](Service Fabric: アプリケーションの削除) コマンドを使用して、ローカル クラスターから CounterService アプリケーションを削除できます。

次のステップ