Blazor を使用して初めてのアプリを構築する
Blazor を使用すると、JavaScript ではなく C# を使用して対話型の Web UI を構築できます。
Blazor と最新バージョンの Visual Studio を使用して、タブ アプリとボット アプリを作成できます。
注:
Teams Toolkit では、メッセージ拡張機能機能はサポートされていません。
前提条件
アプリのビルドとデプロイに必要なツールの一覧を次に示します。
インストール | 使用するには... | |
---|---|---|
Visual Studio 2022 | Visual Studio 2022 でエンタープライズ バージョンをインストールし、ASP.NET および Web 開発ワークロードをインストールできます。 最新バージョンを使用します。 | |
Microsoft Teams | Microsoft Teams、チャット、会議、通話を 1 か所で行うためにアプリを通じて作業するすべてのユーザーと共同作業を行うことができます。 | |
Microsoft Edge (推奨) または Google Chrome | 開発者ツールを備えたブラウザー。 | |
開発トンネル | Teams アプリの機能 (会話型ボット、メッセージ拡張機能、受信 Webhook) には、受信接続が必要です。 トンネルは、開発システムを Teams に接続します。 開発トンネルは、localhost をインターネットに安全に開き、アクセス権を持つユーザーを制御するための強力なツールです。 開発トンネルは、Visual Studio 2022 バージョン 17.7.0 以降で使用できます。 または ngrok をトンネルとして使用して、開発システムを Teams に接続することもできます。 タブのみを含むアプリには必要ありません。 このパッケージはプロジェクト ディレクトリ内にインストールされます (npm devDependencies を使用)。 |
必要なツールをインストールしたら、開発環境を設定します。
Microsoft Teams Toolkit をインストールする
Teams ツールキットは、アプリのクラウド リソースのプロビジョニングとデプロイ、Microsoft Teams ストアへの発行などのツールを使用して、開発プロセスを簡素化するのに役立ちます。
ツールキットは、Visual Studio または teamsfx
と呼ばれる CLI (コマンド ライン インターフェイス) で使用できます。
最新バージョンの Visual Studio をダウンロードします。
ダウンロード フォルダーから
vs_enterprise__3bed52501a604464b1eff2ce580fd4eb.exe
を開きます。Visual Studio インストーラー ページで [続行] を選択して、インストールを構成します。
[ワークロード ] で [ASP.NET と Web 開発 ] を選択 します。
[インストールMicrosoft Teams詳細] で [開発ツール ] を 選択します。
[インストール] を選択します。
Visual Studio は数分でインストールされます。
Teams 開発テナントを設定する
テナントは、Teams の組織のスペースまたはコンテナーのようなもので、チャット、ファイルの共有、会議の実行を行います。 この領域は、カスタム アプリをアップロードしてテストする場所でもあります。 テナントを使って開発する準備ができているかどうかを確認しましょう。
カスタム アプリのアップロードを有効にする
アプリを作成したら、アプリを配布せずに Teams に読み込む必要があります。 このプロセスは、カスタム アプリのアップロードと呼ばれます。 このオプションを表示するには、Microsoft 365 アカウントにサインインします。
Teams クライアントで、[ アプリ ] アイコンを選択します。
[アプリの管理] を選択します。
[ アプリのアップロード] を選択します。
[カスタム アプリのアップロード] オプションを探します。 オプションが表示された場合は、カスタム アプリのアップロードが有効になります。
注:
カスタム アプリをアップロードするオプションがない場合は、Teams 管理者に問い合わせてください。
無料の Teams 開発者テナントを作成する (省略可能)
Teams 開発者アカウントをお持ちでない場合は、無料で入手できます。 Microsoft 365 開発者プログラムに参加します。
Microsoft 365 開発者プログラムに移動します。
[今すぐ参加] を選択し、画面の指示に従います。
ようこそ画面で、[E5 サブスクリプションの設定] を選択します。
管理者アカウントを設定します。 完了すると、次の画面が表示されます。
設定した管理者アカウントを使用して Teams にサインインします。 Teams に [カスタム アプリのアップロード] オプションがあることを確認します。
無料の Azure アカウントを取得します。
Azure でアプリやアクセス リソースをホストする場合には、Azure サブスクリプションが必要です。 開始する前に無料でアカウントを作成してください。
これで、アカウントを設定するためのツールがすべて揃いました。 次に、開発環境を設定し、ビルドを開始しましょう。 最初に作成するアプリを選択します。
タブ アプリ用のプロジェクト ワークスペースを作成する
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
[ 新しいプロジェクトの作成] ページが表示されます。
検索ボックスに「Microsoft Teams」 と入力します。 検索結果から、[ アプリMicrosoft Teams選択します。
[次へ] を選択します。
「プロジェクト名」と入力し、[作成] を選択します。
アプリの機能として [タブ] を選択します。
[作成] を選択します。
Teams タブ アプリは数秒で作成されます。
Teams タブ アプリの作成の簡単な要約。
Teams タブ アプリを作成するためのこの短い要約をご覧ください。
Teams タブ アプリのソース コードを見る
プロジェクトが作成されると、基本的な個人用アプリをビルドするためのコンポーネントが準備できたことになります。 プロジェクト ディレクトリ構造は、Visual Studio の ソリューション エクスプローラー ウィンドウで表示できます。
Teams Toolkit では、選択した機能に基づいてプロジェクトのスキャフォールディングが作成されます。 その他のファイルの中でも、Teams Toolkit では次の内容が維持されます。
フォルダー名 | コンテンツ |
---|---|
アプリのアイコン | アプリ アイコンは PNG ファイルとして color.png と outline.png に格納されます。 |
manifest.json |
Teams 用開発者ポータルを介して発行するためのアプリ マニフェスト (以前は Teams アプリ マニフェストと呼ばれる) は、 Properties/manifest.json に格納されます。 |
BackendController.cs |
バックエンド コントローラーは、認証を支援するために Controllers/BackendController.cs で提供されます。 |
Pages/Tab.razor |
Teams 用開発者ポータルを介して発行するためのアプリ マニフェストは、 Properties/manifest.json に格納されます。 |
TeamsFx.cs と JS/src/index.js |
コンテンツは、Teams ホストとの通信を初期化するために使用されます。 |
バックエンド機能を追加するには、他の ASP.NET Core コントローラーをアプリケーションに追加します。
最初の Teams タブ アプリをビルドして実行する
Teams Toolkit を使用してプロジェクト ワークスペースを設定したら、次にタブ プロジェクトをビルドします。
アプリをビルドして実行するには:
[ Project>Teams Toolkit>Prepare Teams アプリの依存関係] を選択します。
Microsoft 365 アカウントにサインインし、[続行] を選択します。
[デバッグ>デバッグの開始] を選択するか、[F5] を選択します。
[セキュリティ警告] ダイアログが表示されたら、[はい] を選択します。
[ 追加] を 選択して、Teams にアプリをインストールします。
これで、最初のタブ アプリがローカル環境で実行されます。
Microsoft Graph を使用してアプリでユーザーの詳細を取得できるようにするには、[承認] を選択 します。
[同意する] を選択します。
[ 個人用] タブに写真と詳細が表示されます。
他の Web アプリケーションと同様に、プレークポイントの設定など通常のデバッグ作業を行うことができます。 このアプリはホット リロードをサポートしています。 プロジェクト内のファイルを変更すると、ページが再読み込みされます。
Visual Studio でデバッグを停止します。
最初の Teams タブ アプリをプレビューする
タブ機能を使用して Teams アプリを作成、ビルド、実行する方法について学習しました。 次の最後の手順では、Teams で Azure とプレビューにアプリをデプロイします。
Teams Toolkit を使用して、Microsoft Azure でタブ機能を持つ最初のアプリをデプロイしましょう。
Azure でタブ アプリをプロビジョニングするには
クラウドで [Project>Teams Toolkit>Provision] を選択します。
[ プロビジョニング ] ダイアログで、サブスクリプションとリソース グループの詳細を入力します。
- ドロップダウン リストから サブスクリプション名 を選択します。
- ドロップダウン リストから [リソース グループ] を選択します。
- 既存のリソース グループがない場合は、新しいリソース グループを作成できます。 新しいリソース グループを作成するには、[新規] を選択>リソース名を入力>[OK] を選択します。 新しいリソース グループの場所ドロップダウン リストから場所を選択します。
- [プロビジョニング] を選択します。
Teams Toolkit の警告ダイアログが表示されます。
[プロビジョニング] を選択します。
リソース グループがクラウドでプロビジョニングされるまでに数分かかります。
[OK] を選択します。
[ プロビジョニングされたリソースの表示 ] を選択して、Azure portal で表示します。
Azure ポータルにサインインします。
app-dev-rg が表示されます。
リソースは Azure portal でプロビジョニングされます。
タブ アプリをクラウドにデプロイするには
Teams でタブ アプリをプレビューするには
ボット アプリ用のプロジェクト ワークスペースを作成する
最初のアプリを作成して、Teams アプリ開発を開始します。 このアプリはボット機能を使用します。
ボット プロジェクトを作成する
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
[ 新しいプロジェクトの作成] ページが表示されます。
検索ボックスに「Microsoft Teams」 と入力します。 検索結果から、[ アプリMicrosoft Teams選択します。
[次へ] を選択します。
[ 新しいプロジェクトの構成] ウィンドウが表示されます。
「プロジェクト名」と入力し、[作成] を選択します。
[ 新しい Teams アプリケーションの作成 ] ウィンドウが表示されます。
[Teams アプリ機能] を選択します。
アプリの機能として コマンド ボット アプリを選択します。
[作成] を選択します。
Teams ボット アプリは数秒で作成されます。
Teams ボット アプリを作成する簡単な要約。
Teams ボット アプリを作成するためのこの短い要約をご覧ください。
Teams ボット アプリのソース コードを見る
プロジェクトが作成されると、基本的な個人用アプリをビルドするためのコンポーネントが準備できたことになります。 プロジェクト ディレクトリ構造は、最新の Visual Studio の ソリューション エクスプローラー 領域で表示できます。
Teams Toolkit では、選択した機能に基づいてプロジェクトのスキャフォールディングが作成されます。 その他のファイルの中でも、Teams Toolkit では次の内容が維持されます。
フォルダー名 | コンテンツ |
---|---|
アプリのアイコン | アプリ アイコンは PNG ファイルとして color.png と outline.png に格納されます。 |
manifest.json |
Teams 用開発者ポータルを介して発行するためのアプリ マニフェストは、 Properties/manifest.json に格納されます。 |
BackendController.cs |
バックエンド コントローラーは、認証を支援するために Controllers/BackendController.cs で提供されます。 |
TeamsFx.cs と JS/src/index.js |
コンテンツは、Teams ホストとの通信を初期化するために使用されます。 |
バックエンド機能を追加するには、他の ASP.NET Core コントローラーをアプリケーションに追加します。
最初のボット アプリをビルドして実行する
アプリをローカルに構築して実行するには、以下のようにします。
トンネルを作成する
Visual Studio を開きます。
[ 新しいプロジェクトの作成] を選択します。
検索ボックスに「ASP.NET」 と入力します。 検索結果から [ ASP.NET Core Web App] を選択します。
[次へ] を選択します。
「プロジェクト名」と入力し、[次へ] を選択します。
[作成] を選択します。
概要ウィンドウが表示されます。
デバッグ ドロップダウン リストで、[Dev Tunnel (アクティブ トンネルなし)]>[トンネルの作成]を選択します。...
ポップアップ ウィンドウが表示されます。
ポップアップ ウィンドウで次の詳細を更新します。
- アカウント: Microsoft または GitHub アカウントを入力します。
- [名前]: トンネルの名前を入力します。
- トンネルの種類: ドロップダウン リストから [ 一時] を選択します。
- アクセス: ドロップダウン リストから [パブリック] を選択 します。
[OK] を選択します。
開発トンネルが正常に作成されたことを示すポップアップ ウィンドウが表示されます。
[OK] を選択します。
作成したトンネルは、次のようにデバッグ ドロップダウン リストにあります。
F5 キーを押して、デバッグ モードでアプリケーションを実行します。
[セキュリティ警告] ダイアログが表示されたら、[はい] を選択します。
ポップアップ ウィンドウが表示されます。
[続行] を選択します。
開発トンネルのホーム ページが新しいブラウザー ウィンドウで開き、開発トンネルがアクティブになりました。
Visual Studio に移動し、[ 表示] > [出力] を選択します。
[出力コンソール] ドロップダウン メニューで、[Dev Tunnels]\(開発トンネル\) を選択します。
出力コンソールには、開発トンネル URL が表示されます。
[ Project>Teams Toolkit>Prepare Teams アプリの依存関係] を選択します。
Microsoft 365 アカウントにサインインし、[続行] を選択します。
[ デバッグ>デバッグの開始 ] を選択するか、 F5 を選択してデバッグ モードでアプリを実行します。
[追加] を選択します。
これで、ボットは Teams で正常に実行されるようになりました。 アプリが読み込まれると、ボットを使用したチャット セッションが表示されます。
「
helloworld
」と入力すると、アダプティブ カードの概要カードを表示できます。他の Web アプリケーションと同様に、プレークポイントの設定など通常のデバッグ作業を行うことができます。 このアプリはホット リロードをサポートしています。 プロジェクト内のファイルを変更すると、ページが再読み込みされます。
アプリがローカルで実行されない場合のトラブルシューティング方法について説明します。
Teams でアプリを正常に実行するには、Teams アカウントでカスタム アプリのアップロードが有効になっていることを確認します。 カスタム アプリのアップロードの詳細については、「前提条件」セクションを参照してください。
最初のボット アプリをプレビューする
Azure でボット アプリをプロビジョニングするには
クラウドで [Project>Teams Toolkit>Provision] を選択します。
[ プロビジョニング ] ダイアログで、サブスクリプションとリソース グループの詳細を入力します。
ドロップダウン リストから サブスクリプション名 を選択します。
ドロップダウン リストから [リソース グループ] を選択します。
既存のリソース グループがない場合は、新しいリソース グループを作成できます。 新しいリソース グループを作成するには、[新規] を選択>リソース名を入力>[OK] を選択します。 [新しいリソース グループの場所] ドロップダウン リストから場所を選択します。
[プロビジョニング] を選択します。
Teams Toolkit の警告ダイアログが表示されます。
[プロビジョニング] を選択します。
リソース グループがクラウドでプロビジョニングされるまでに数分かかります。
プロビジョニングが完了したら、[ OK] を選択します。
[ プロビジョニングされたリソースの表示 ] を選択して、Azure portal で表示します。
Azure ポータルにサインインします。
app-dev-rg が表示されます。
リソースは Azure portal でプロビジョニングされます。
ボット アプリをクラウドにデプロイするには
Teams でボット アプリをプレビューするには
おめでとうございます!
これで完了です。
タブ アプリとボット アプリという異なる機能を持つ 2 つのアプリを作成しました。
Blazor を使用してアプリをビルドするためのチュートリアルを完了しました。
このセクションに問題がある場合 このセクションを改善できるよう、フィードバックをお送りください。
Platform Docs