ngrokを利用すると、ローカルで実行しているASP.NETアプリケーションにグローバルアドレスでアクセスすることができて便利です。

 Teamsアプリ開発でもサーバー側の動作確認をするのにいちいちサーバーに上げていては色々と面倒。

 ということで、ローカルのIIS Express上で動作しているサーバーでデバッグするわけですが、多少戸惑う点があります。

 

ポート番号の指定について

 

 ASP.NETアプリケーションをデバッグする際にアクセスするアドレスを見ると、ブラウザに表示されているURLは44340ポートを指定しているとします。

 

 ngrokでトンネルするポートはこの番号ではなくて、プロジェクトのプロパティから確認できる値です。

 プロジェクトのプロパティの「デバッグ」タブのアプリURLに記載されている値を指定します。この画像の場合は59189ですね。

 

host-headerも指定する

 

 IIS Expressはlocalhost以外の接続をはじく(デフォルトの設定では)のでngrokの設定は

 

♯ngrok http 59189 -host-header=localhost:59189

 

 というふうに、-host-headerを記載します。

 

 ふだん、ASP.NETをバリバリ開発している人には常識なのだろうか?


 初めてTeamsのアプリを作成する! という場合に、Microsoftの公式ドキュメントを眺めて、チュートリアルを動かしてみる方も多いと思います。

 チュートリアルを書かれている場合通りに実行していく場合、表示言語に気をつけてください。

 

 例えば、C#のチュートリアルを試してみる場合、以下のURLのページに解説があります。

 

https://docs.microsoft.com/ja-jp/microsoftteams/platform/tutorials/get-started-dotnet-app-studio

 

 日本語翻訳と英語の原文で項目が異なっていることがあります。

 該当箇所を英語と日本語並べてみると・・・

 

 

 コマンドIDはサンプルの動作に影響がある項目なので「getRandomText」である必要があるのですが、日本語版だと「Ge/domtext」と表示されています。

 この語、ちゃんと翻訳が見直されて正しく編修される可能性もありますが。こういうこともある、ということを念頭に置くと良いと思います。

 

 

 

 

 


 タイトルの通りの動画を公開しました。

 あまりに長い時間だと視聴してもらえなくなるという縛りがあるので、どのように伝えるかに苦労します。

 

 動画以外にもブログ記事などでフォローアップしよう!・・・と思いつつ、毎回紹介したままに。

 

「開発者のためのAzure Storage」

https://www.linkedin.com/learning/azure-storage-for-developers

 


 開発中のアプリをTeamsにインストールする場合、Microsoft 365管理センターで設定を変更してサイドローディングを許可してあげる必要があります。

 設定してないと下の画像のように「このチームに{App Name}を追加するためのアクセス許可がありません。」と表示されます。

 

Teams上で開発中のアプリをインストールする画面

 

 Microsoft 365管理センターで設定を変更するための管理者アカウントが必要になるわけですね。

 (開発用のMicrosoft 365アカウントでも可能だと思いますが、とりあえず手元にあるMicrosoft 365アカウントでやってみました)

 

(Microsoft 365 管理センター)

https://admin.microsoft.com/

 

 Microsoft 365管理センターにサインインします。

 

 続いて、「ホーム」の「基本」項目にあるMicrosoft Teams欄の下部「Teamsを管理する」をクリックします。

 

 画面右にメニューが表示される(下画像)ので、 

「‎Teams‎ 管理センターに移動して追加の設定を管理する」をクリックします。

 左のメニューから「Teams のアプリ」を展開し「セットアップポリシー」をクリックします。

 

 表示された「アプリの設定ポリシー」から「グローバル(組織全体の規定値)」をクリックします。

*ポリシーが複数ある場合は、組織の運用に従って適切なポリシーを選択する必要があるかも?

 「カスタムアプリをアップロード」の項目をオンに変更します。

 ページ下部の「保存を」クリックして変更を保存します。

 

 すぐには反映されないので最大24時間待ちます。私の場合は2時間ぐらいで反映されました。

 

 Teams側で下画像のように「追加」ボタンが押せるようになっていればOK。

 

 機械翻訳っぽいけど公式のドキュメントも掲載しておきます。

https://docs.microsoft.com/ja-jp/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant

 


 年々、ブログでのアウトプットが減ってきている気がして申し訳ないのですが、今年もMicrosoft MVPを更新できました。

 カテゴリーはDeveloper Technologiesです。

 去年も同じカテゴリーですが、ブログではWindows Developmentのままでした・・・(今はなおしてあります)。

 

 ちゃんとアワードを頂いた分は、情報公開で返したい! と毎年思いながら、ブログでのアウトプットもせずに1年が終わってしまうというパターンですが、今年はブログまたは別の方法による発信を強化していきたいです。

 

 もちろん、何も活動をしていないわけではなく、LinkedInでの動画公開を中心に色々と試みは行っているのですが、勉強会などオンラインでがんばっているコミュニティの活性化になどにも尽力できたらなぁと今年は思う次第です。

 

 EC-CUBEも新しいバージョンが出たので、触っていかないと!

 


 .NETラボはオフラインでの勉強会が開催困難になった現状、オンラインでの勉強会を精力的に続けています。

 一応、運営メンバーとして参加していますが、登壇ぐらいしか力になれていないので、中の人として誇ることはできませんが、素晴らしいことだと思います。

 

 6月は私も「WinUI 3.0 Preview 1を触ってみた」というタイトルで話させていただきました。

 その資料をここに残しておきます。

WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料) from Makoto Nishimura

 

 主催の木澤さんの尽力で動画も公開いただいております。

.NETラボ6月オンライン勉強会

 

 5月もお話したのですが、テクニカルなネタではなかったので資料は公開していません。


 LinkedInラーニングで「Azure Functions 基本講座」を公開いただきました。

 Azure Functionsは関数ライクにAPIを作成でき、Azureのほかサービスとの連携にすぐれているのが特徴です。

 

https://www.linkedin.com/learning/azure-functions-essential-training/2841224

 

 ASP.NETなどのフレームワークをほぼ意識せずにAPIを作成できるのは便利なので、ぜひ動画で学習してみてください。

 


LinkedInラーニングにて以下のコースを公開いただきました。

 

「Visual Studio:ユニットテスト」

 

Visual Studioの初期オプションで選択できるユニットテストフレームワークは「NUnit」「xUnit」「MSTest」の3つです。

もちろん、他のユニットテストフレームワークも追加で導入できる仕組みはあるのですが、デフォルトで入るということで上記3つについてテストケースの書き方を解説しました。