銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

C#

ASP.NET WebHooks で VSTS のService Web Hook を受け取る

Visutal Studio Team Services(VSTS)でビルド結果を通知するにはService Hooksを使います*1。Integrated されているサービスもあるのですが、これ以外のサービスと連携するには自前でWeb Hookを作る必要があります。 Integrate with service hooks | Visual …

VSTO で WPF を使うには

Office アドイン Advent Calendar の8日目です。 www.adventar.org VSTOでUIを作るのはWindows Formsの方が対応されてはいます。しかし、私を含めWindows デスクトップでGUI作成といえばWPFばかりやってきているので、WPFを使いたい!という人も多いと思いま…

UWP でもバーコードスキャン機能を実装したい

先日のエントリの最後に触れていた話です。 tech.tanaka733.net 試してみると実はそこまで難しくなくバーコード(QRコード)を読み取ることができました。簡単になった最大の理由は、Microsoftが提供しているUWPのサンプルです。 github.com カメラを使ってPre…

ASP.NET 5 の Logging について

ASP.NET Advent Calendar 6日目です。 qiita.com ASP.NET 5 でLoggingの機能が一新されます。今日は簡単に紹介したいと思います。なお下記のドキュメントを参考にしつつ、コードは ASP.NET RC1 時点のものを参照しているため、Nugetのパッケージ名など一部が…

Visual Studio SDK で拡張を作るときに知りたい情報の探し方

Visual Studio / Visual Studio Code Advent Calendar 2015 の4日目です。 qiita.com 先日のConnect(); でVisual Studio Marketplace というものが発表されましたが、当面個人開発者の作ったVisual Studio拡張は今まで通りのVisual Studioギャラリーで公開す…

Ubuntu で CoreCLR で HelloWorld したい

C# Advent Calendarの3日目です。 qiita.com 先日のConnect(); 2015 で .NET CoreとASP.NET 5 がRCになりました。 blogs.msdn.com そのあと、C#ユーザーグループの勉強会で Ubuntu で .NET Coreを動かそうとしたけどなかなかうまくいかないという話もあった…

RPi2 で Windows IoT (3) RGBエルーチカ

Raspberry Pi Advent Calendar 2015の2日目です。今回はWindowsを使ってRGBの3色が点灯するLEDを扱ってみます。 www.adventar.org Advent Calendar経由で来られた方の中には、Raspberry Pi でWindows?という方もおられるかもしれません。(1)の記事でWindows…

Windows Phone アプリでバーコードスキャン機能を実装したい (WP8.1編)

Windows Phone Advent Calendar の1日目です。 www.adventar.org 先日、Doorkeeper のイベント管理者がチェックインをWindows Phoneから行うためのアプリをリリースしました。 www.microsoft.com OS標準のバーコードリーダーを使うと、いちいちブラウザを起…

Visual Studio 拡張でファイル保存イベントをフックする

Visual Studio拡張を作っているときに、特定のファイルの保存イベントを検知して、それに対する処理を書きたくなりました。 調べてみるとDocumentSaved というものが割とヒットするのですが、これMSDNには内部向けのAPIで利用者が使うことを想定していないよ…

Amazon Glacier に保存しているアーカイブのIDを忘れたら、削除するのも大変だった件

1年半ほど前に家族の写真とか100GB~(将来的に)1TB程度のファイルをどこにバックアップしようかなと思って、Amazon Glacierを使い始めました。 しかし、Glacierの課金体系などを完全には理解しておらず、いざ復元するときに使いづらいことがわかったので使う…

RPi2 で Windows IoT (2) エルーチカ をコンパイル時バインディングでやってみる

Raspberry Piのセットアップができたので早速アプリを作って動かしてみます。最初はべたなLED点滅から。 必要な電子工作の部品はこちら LED 270Ωの抵抗 ブレッドボード オス-メス のジャンパーワイヤ2本 ちなみにUWPのアプリを動かして操作するにはディスプ…

VisualStudio 2015 のcsproj をいじるためのVS拡張 CSProjUtil をリリースしました

インストールはVisual Studio Galleryから。 visualstudiogallery.msdn.microsoft.com コードはGitHubで公開しています。 github.com 使い方はVisual Studio Galleryの方に載せていますが、ソリューションエクスプローラーでプロジェクトを右クリックして「C…

jsonをクラスとして貼り付けたあとに、プロパティ名をPascal Case に変更する CodeFixProvider を作ってみた (要Json.Net)

最近のVisual Studioでは jsonの文字列をコピーして、C# のクラスとして貼り付ける機能があります。 なんですが、これ元のjsonのキーが snake_case の場合、できたC#のクラス名も snake_case になるので気持ち悪いんですね。 C# でjsonを扱う多くの場合、Jso…

#5joffice で VSTO について話してきました

html5j 番外編 Microsoft Officeセミナー その1 で、「Introduction to VSTO」というタイトルでVSTOについて話してきました。 html5j 番外編 Microsoft Officeセミナー その15joffice.doorkeeper.jp 資料はこちらになります。 20150423 introduction tovsto …

Visual Studio 拡張(VSIX)用のプライベートリポジトリを作ろう

最近 Visual Studio拡張ツールの開発にはまっているのですが、パブリックに公開したいものであれば Products and Extensions for Visual Studio で公開するのがお手軽ですし、ダウンロードもしてもらえます。しかし、時には社内にのみ配布したい拡張もあるで…

Open for PowerShell Cmdlet v1.1 をリリースしました

OpenForPSCmdlet extensionvisualstudiogallery.msdn.microsoft.com すでにインストールしている方はアップデートがかかるはずです。 v1.0ではモジュールをImportした状態でPowerShell Consoleが開きましたが、v1.1ではこのConsoleのプロセスにアタッチして…

PowerShell Cmdlet のデバッグを楽にする、 OpenForPSCmdlet VS拡張

PowerShell Cmdlet のバイナリモジュールを作ったことがある方はわかるとおもうのですが、バイナリモジュールを実際にPowerShellで実行して動作を確認するためには、ビルドしたdllをImport-Moduleで読みこむ必要があります*1。さらに、一度 Import-Module す…

PowerShell Cmdlet バイナリモジュールのプラクティスまとめ (1) スレッド・Rx編

今まで何度か、PowerShell Cmdlet バイナリモジュール(C#でdllを記述し、Import-Moduleで利用するCmdlet)について書いてきました。実際、Cmdletを実戦投入して運用していますが、実際に運用してみるとなかなかはまりどころが多いこともわかりました。何回か…

リモート接続先で接続元の情報を C# で取得する

C#

リモート接続先で起動するアプリで、接続元の情報を取得したい事案が発生しました。 そんなときはこの関数を使えばよさそうです*1。 WTSQuerySessionInformation 関数 DllImportすれば C# でも書けますね、ということで書いてみました。sessionId は WTS_CUR…

パイザオンラインハッカソン4 の C# での解答を晒してみる

C#

パイザオンラインハッカソン4 というのが行われているのですが*1、 エンジニアでも恋がしたい〜転職初日にぶつかった女の子が同僚だった件〜|paizaオンラインハッカソン4 Lite なんかTwitterで@numa08氏を煽ってしまったようなので、せめて自分の解答くらい…

CLR/H in Tokyo 第7回で ETWとカスタムパフォーマンスカウンタについて話しました #clrhtky7

CLR/H in Tokyo 第7回 で話してきました。 CLR/H in Tokyo 第7回 (2014/12/20 10:30〜) 資料はこちらになります。 20141220 clrh etw from Takayoshi Tanaka 資料中にリンクはあるのですが、ETWとは?とか今までのイベントログとの違いとは?についてはこち…

【読み始めました】 「Pro Unity Game Development with C#」

Unity Advent Calendar の10日目のエントリ...だったのですが、いろいろ体調不良が重なり当初書評を書く予定で読んでいた本が読み切れませんでした...というわけなので、なぜこの本を読もうとしたのかと、読んだところまでの感想を書きたいと思います。 Unit…

ASP.NET/IIS 上で X509Certificate2 をバイト配列指定で生成するときは、 Application Pool の実行ユーザーのプロファイルを読みこませないといけません

C# Advent Calendar と ASP.NET Advent Calendar の9日目のエントリです。 C# Advent Calendar 2014 - Qiita ASP.NET Advent Calendar 2014 - Qiita もともと別の内容を書くつもりだったのですが、仕事であまりにはまったことがあったので、それを書こうと思…

.NET アプリから BigQuery に Streaming Insert する方法

このブログは Google Cloud Platform Advent Calendar 2014 の7日目のエントリです。 Google Cloud Platform Advent Calendar 2014 - Qiita Google Cloud Platform Advent Calendar 2014 - Qiita さて、以前テーブルをAPIから生成する方法は紹介したのですが…

PowerShell Cmdlet の中でRxを使いたい

PowerShell Advent Calendarの4日目の記事です。 PowerShell Advent Calendar 2014 : ATND PowerShell Advent Calendar 2014 : ATND 去年もPowerShell Advent Calendarなのに C# な話だったんですが、今年も性懲りもなくC# コード満載のCmdletネタになります…

CloudWach (Windows版)に.NET アプリから独自のイベントログとパフォーマンスカウンタを送信する方法

このエントリは、AWS Advent Calendar 3日目の記事です AWS Advent Calendar 2014 - Qiita AWS Advent Calendar 2014 - Qiita 先日出た CloudWatch にWindows Serverからイベントログやパフォーマンスカウンタの値を送信できる機能ですが、これを使うことに…

Visual Studio 2015 で強化されたリファクタリング機能について

Visual Studio 2015 の1日目です。 Visual Studio Advent Calendar 2014 - Qiita Visual Studio Advent Calendar 2014 - Qiita 一発目なので最新の機能の中からデバッグ関連の機能を軽く紹介したいと思います。 リネーム機能 変数名のリネーム機能が強化され…

第7回中心会議で C# 6.0 を中心にお話ししてきました #devchu

第7回業開中心会議 『2015年に到来する大変革「次期.NET/ASP.NET/Visual Studio、Windows 10」に備えよ』 で、話した資料になります。 20141129-dotNet2015 from Takayoshi Tanaka 20141129-dotNet2015

TopShelf と MSDeploy で作る、Windowsサービスお手軽自動展開環境

Windows上で長期間に渡ってバックグランドで動くようなプログラムを作るのに、Windowsサービスを使うことができます。 Windows サービス アプリケーションの概要 なんですが、WindowsサービスをVisual Studioにデフォルトで用意されているものだけで作ると割…

App.config の config変換をしてくれる便利すぎるVisual Studio 拡張「Configuration Transform」

コンソールアプリやWPFアプリを作っていて、アプリのコードは同一だけど配置先に応じて設定を切り替えたい、ということはないでしょうか?Webアプリの場合、 Web.config を変換する仕組みがデフォルトで備わっていて、このブログでも触れたことがあります。 …