かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

C#

Azure Functions v3 試せるようになってる

試せますね!!ということで早速。VS 2019で試すにはテンプレートとかを出すために環境変数設定して…とかがいりそうなので CLI でさくっとやってみました。 Core tool の更新 特別なことは何もなし。コマンドでさくっと。 npm install -g azure-functions-co…

Hello ML.NET world

C#

.NET Core 3.1 もリリースされたし ML.NET でも少し触ってみようと思います。今はカフェで Surface Go しか持ってないので先日作って寝かせておいた VIsual Studio Online につないでやってみようと思います。 .NET Core 3.1 このページに従ってコマンドをう…

SDK StyleのプロジェクトファイルをUWP, Xamarinで使いたい

ReactiveProperty のパッケージ分割するにあたってやろうとしてるんだけど標準だときびしい…?ということで MSBuild.Sdk.Extras というパッケージを使いました。 空のクラスライブラリを作って Sdk 属性に MSBuild.Sdk.Extras/2.0.54 を設定して TargetFrame…

Livet v3.2.1 をリリースしました

しばらく触ってませんでしたが、リリースしました。 Microsoft.Xaml.Behaviors.Wpf が .NET Core 3.0 対応したので、Livet も警告が出ない状態で .NET Core で使えます。 変更点 v3 系になってから各種機能を個別の NuGet パッケージに分離してきましたが以…

.NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました

登壇資料アップロードしました。 .NET Core 3.0 + Windows 10 で WPF 開発 from 一希 大田 www.slideshare.net 関連記事 基本的に、過去のブログで結構書いてた内容のまとめになります。 WPF 関連 MSIX での自動更新 XAML Islands その 1 XAML Islands その …

WPF on .NET Core 3.0 + XAML Islands で Windows UI Library を使おう

前回 blog.okazuki.jp Windows UI Library を使おう Windows UI Library(WinUI) は、次のメジャーアップデートから Windows の OS のバージョンアップに紐づいてアップデートされてきた UWP の UI 部分を OSS として切り離して開発するというポジションにな…

WPF on .NET Core 3.0 で XAML Islands してみよう

しばらく目を離してると手順がガラッと変わっててびっくりしてる今日この頃。 docs.microsoft.com WPF on .NET Core 3.0 で XAML Islands を試してみたいと思います。 プロジェクトの構成 前は WPF プロジェクトにライブラリ追加して…という感じだったのです…

新しい csproj 形式で NuGet パッケージに外部 dll を含める方法

Livet を新しい csproj 形式に移行した後に苦労したのが、Windows API Code Pack の dll を LivetExtensions のパッケージに含めたいというものでした。 わかってしまえば簡単で、dll をプロジェクトに含めて Pack="true" PackagePath="lib\net452" の属性で…

C++/WinRT で Windows Runtime Component を作って C# から呼ぶまで

ちょっと迷ったのでメモしておきます。 C+/WinRT自体についてはこちら docs.microsoft.com 上のドキュメントの、このページの部分に関連してます。 docs.microsoft.com docs.microsoft.com Step 1: Windows Runtime Component プロジェクトの作成と idl の定…

全てサーバーレス + 全て C# で SPA

DB に Cosmos DB を使って Azure Functions を使って少ないコードで読み書きする API を作って API Management で CORS の設定と Open API の定義を作って Blazor で AutoRest で生成したクライアントを使って API を呼ぶ SPA を作ってストレージアカウント…

C# で完全サーバーレスで SPA とバックエンドを作れるようになりますね

Azure API Management の従量課金プランが GA しました。 azure.microsoft.com つまり… Azure Storage Account の静的 Web サイトホスト機能で SPA をホスト Azure Functions の HttpTrigger で処理を作成 Azure API Management で Azure Functions を SPA …

Bot Framework SDK 4.4.3 時点でのボット作成の最小手順からダイアログまで

Bot Framework SDK (Bot Builder SDK?) v4 で v3 から大きく実装方法が変わったわけですが、結構 v4.1, 4.2, 4.3, 4.4... と進んでいくうちに、意外と v4 当初の作り方が非推奨になったりしてしょんぼりすることがあったので v4.4.3 時点での Bot Framework …

C++ 製の Windows ランタイム コンポーネントを .NET Framework のアプリから呼ぶ方法

ここではないブログに書きました!下のリンクからたどってください。 techcommunity.microsoft.com

Visual Studio で一番費用対効果の高いショートカット「Ctrl + .」

今日は、Visual Studio 2019 Launch Event in Tokyo で登壇してきました。 資料はこちらです。 Visual Studio 2019 の個人的なお勧め機能(発表時点) from 一希 大田 www.slideshare.net とりあえず個人的に便利だと思ってる機能とかを中心に色々話したので…

Azure Bot Services の Web App Bot で作成したボットのソースをダウンロードしてビルドしていると「**」というフォルダーが出来る

こんなやつです。 ちなみにビルドを重ねていくとパスの長さに関するエラーが出ます。 原因 何のためなのか調べてないのですが、EchoBot の csproj ファイルには 以下のような定義が含まれています。 <Import Project="PostDeployScripts\IncludeSources.targets" Condition="Exists('PostDeployScripts\IncludeSources.targets')" /> </import>

Azure Bot Services の SDK が v4.3.x にアップデートして色々変わってる件について

噂には聞いてたんですが、ダウンロードしてびっくりしました。 気づいた点をさくっと書いておこうと思います。 因みにリリースノートはこちら。 github.com Controller クラス復活 今まで api/messages エンドポイントを定義するのは Azure Bot Services の …

Visual Studio でコードを .editorconfig に従って一括フォーマット

Visual Studio 2019 のリリースノートにしれっと入ってる dotnet-format コマンド。 github.com このコマンド一発でインストールできるのが素敵です。 dotnet tool install -g dotnet-format パッケージマネージャーコンソールか立ち上げて dotnet-format っ…

Azure Bot Service で Microsoft Teams のボットにボタンで選択肢を出したい

これでハマったのでメモ。 もし、もっと楽な方法があったら教えてください。 やりたかったこと 以下のようなメッセージを生成したかった。 xxxxですか? [ はい ] [ いいえ ] 質問に対して「はい」か「いいえ」をボタンで出したかった。 最初にやったこと Co…

Azure Bot Service の LINE Connector でスタンプみたいな LINE 固有機能を使おう

先日書いた Azure Bot Service の LINE 対応ですが、スタンプみたいな LINE 固有機能使いたいんだけどどうするの?という疑問がわいてくるような気がします。 こういう複数のプラットフォームに対応するときは、機能が最大公約数になってしまうのですが、ち…

Azure Bot Services でボットを公開するための最小のコードと手順

Azure Bot Services にボットを公開する最小のコードと手順をやってみようと思います。 というのも、必要最低限を把握してないとその他の応用の部分がどのコードなのかっていうのが把握しにくいと思うので自分は最低限のコードを組むのは一回流行ってる気が…

Azure Bot Services の LINE のチャンネルを試してみた

はじめに とりあえず LINE に繋ぐ手順を試してみました。 本文 昨日みつけた LINE のチャンネルを試してみました。ドキュメントもあるのでそっち見てもOK docs.microsoft.com LINE の Developers Console で適当にプロバイダーを作ります(すでにあるならそ…

Bot Framework のサンプルの QnA Maker の Active Learning をデプロイする方法

最近追加された Active Learning ですが簡単に言うと利用状況を見て、この QA にはこんな質問追加したらいいんじゃないの?っていうのをポータルに出してくれるみたいですね。 docs.microsoft.com 暗黙的フィードバックと明示的フィードバックがあるみたいで…

Visual Studio で名前変更のリファクタリングの一番簡単な方法

C#

個人的な主観が入った小ネタです。 Visual Studio には様々なリファクタリングのための機能がついています。 個人的に、その中で一番お世話になってるのが名前変更です。例えば… あっ、クラス名イケてない… このプロパティ名ちょっと失敗したな この変数名ち…

C# の複数ファイルの一括フォーマットツール

C#

今日、Visual Studio 2019 Preview 3 のリリースノートを読んでたら dotnet-format ツールが紛れてました。 github.com 一括で .editorconfig の適用してくれるとか。ありがたい。 試してみよう ということでインストールしてみます。.NET Core の最新版が入…

Bot Framework SDK v4 を使うときの 2019/02/12 時点で最適だと思う ConfigureServices メソッドの書き方

なんというか Bot Framework SDK v4 は v3 と違って細かくカスタマイズ可能な部品が提供されてて、それを組み合わせて使うという感じになってるので、より挙動のカスタマイズがしやすくなっていたりします。 例えば LUIS や QnA Maker との連携機能の提供の…

Livet 2.2.0 をリリースしました

しました。 www.nuget.org LivetExtensions も更新しました。 www.nuget.org プロジェクトテンプレートも最新版を初期状態で参照しているように Visual Studio の拡張機能も更新しています。 marketplace.visualstudio.com 変更内容 GitHub のリリースページ…

Azure App Service で Azure Key Vault がめちゃ簡単に使えるようになりました(プレビュー)

プレビュー機能ですが、Azure Functions とかで Key Vault が凄く簡単に使えるようになってます。 今までは、少しだけとはいえプログラムに手を入れないといけなかった部分を Azure ポータルのアプリケーション設定に指定するだけでよしなにしてくれるように…

何処でも動くサーバーレスプラットフォーム Azure Functions

この記事は Serverless2 Advent Calendar 2018 の 2 日目の記事です。 qiita.com 本文 最近 Docker でパッケージングしたらどこでも動くが実現してるようなものなので、実質 Docker でパッケージング出来たら run anywhere な感じということです! そして、A…

Azure Functions + Application Insights で POST されたデータのログを残す(C# & JavaScript)

liginc.co.jp なんとなく見かけたので Azure でもやってみましょう。 Azure なら一番簡単に REST API 作るんだったら Azure Functions かなぁ。ログは Application Insights かなぁ。 Azure Functions のドキュメント - チュートリアル | Microsoft Docs Azu…

Microsoft Tech Summit 2018 で Windows 10 対応のデスクトップアプリを作る技術 というタイトルで発表してきました

2018/11/05 - 2018/11/07 で開催された Microsoft Tech Summit 2018 で登壇してきました。 その時のセッション用に準備したコードを以下のリポジトリに公開しました。 github.com 伝えたかったこと AI とか無関係じゃないし、新機能とかもあるし、デスクトッ…