銀の光と碧い空

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

C#

ASP.NET Core 2.0 preview 2 では C# 7.1 の構文がRazor Viewの中で使えなかった話

このissueのやり取りがすべてなんですが、備忘録として残しておきます。 github.com

VisualStudio 2017 RC3 から .NET Core on RHEL にリモートデバッグする

VisualStudio 2017 RC3からリモートデバッグのプロトコルにSSHが選択できるようになり、Linux上の.NET Coreプロセスにアタッチすることができるようになりました*1。 blogs.msdn.microsoft.com これは、以前ブログに書いたdocker上の.NET Coreプロセスをリモ…

Linux でも C# 7 を使いたい

C# Advent Calendar 10日目の記事です。 qiita.com C# 7のリリースが近づいてきている(はず)のですが、専らC# 7の記事はVisual Studioで試しましたというのが多く、.NET Core on Linuxでは試せないのか?という疑問がありました。現時点では、.NET Core 1.0 …

Linux の dotnet restore は大文字HTTP_PROXYを認識しない、あるいは curlコマンドは大文字HTTP_PROXYを認識しない件

微妙にハマったので、書いておきます。.NET Core CLI のdotnet restoreコマンドをプロキシ環境下のLinux*1で使う場合、環境変数http_proxyは小文字で設定する必要があります。ちなみにこれはcurlコマンドでも同じです。ちなみにhttps_proxyもしくはHTTPS_PRO…

.NET Core on Linux の今年をふりかえってみる

.NET Core Advent Calendar 3日目です。 qiita.com 昨日のPowerShell on Linux に続いて、.NET Core on Linux (特に.NET Core on RHEL)の現状を、アプリをどうやって開発するのか?に焦点を置いて軽くふりかえってみたいと思います。 .NET Core のリリースと…

MVP Summit のハッカソンで.NET Core CLIの拡張を作りました

MVP Global Summit 2016に参加して来たのですが、今年は木曜に行われるハッカソンまで参加してきました。ツアーで行くと木曜の朝出発するスケジュールなのでずっと参加できなあったのですが、今年は自分で予約したので参加できました。10個くらいのテーマが…

Roslyn Analyzer を.NET Coreで参照する

C# 6でコンパイラープラットフォームとしてRoslynが導入され、コンパイラー拡張を作れるようになりました。今回は.NET Core on Linuxでこれが利用できるか試すことにしました。 Code RefactoringはVSIXであり、Visual Studioなしでは動きません。Diagnostic …

ASP.NET Core RC2 on Linux で空のWebプロジェクトにMVCの機能を追加する

.NET Core RC2がリリースされたので、早速さわってみることにしました。 RHEL上ではまだサポートされていませんが、とりあえずCentOS用のインストールと同じコマンドを実行するとインストールできることもわかりました。 今回やった範囲では、基本的に.NET C…

.NET Core RC2 がリリースされました

.NET Core RC1 (2015/11/18) より約半年、ようやくRC2がリリースされました。 .NET - Powerful Open Source Development さあ、さっそく .NET Core RC2 on RHEL を試そうといきたいところですが... .NET Core on RHEL は Red Hatから提供するためか、もうし…

Visual Studio Code の C# Debugging を .NET Core on RHEL でやってみる

できるようになったという記事を見たので試してみました。 stufftoddknows.com せっかくなので動作確認した手順をまとめておきました。

VSTS でAPIからビルドをキャンセルする

APIからビルドをQueueに積むのは専用のAPIがあります。 tech.tanaka733.net では、いったんQueueに積まれたビルドをAPIからキャンセルしたいときはどうしましょう?API一覧にキャンセルとかストップといった類のメソッドはありません...*1 *1:Deleteはあるの…

2015年を振り返って

去年は振り返り記事を書かなかったのですが、今年を振り返ってみたいと思います。 C# 仕事 MVP活動 登壇 執筆 ブログ 趣味 来年 C# なんといってもRoslynでしょう。ただ、Roslynの機能は比較的小さめにリリースされましたし、C# 6.0の新機能も前々からプレビ…

UWPのデバッグ実行になぜか失敗するので、slnフォルダをDドライブからCドライブに移動したら解決した件

久しぶりにUWPアプリでも開発しようかなあと思ったら、デバッグ実行できなくなる現象に遭遇してしまいました。デバッグ実行しようとすると、こんな風にUnhandled Exceptionが発生したといわれます。 イベントビューアーを見ると、Windowsrログ>アプリケーシ…

Assembly.LoadFrom するDLLの中でAssemblyBinding したくて困った話

C#

VSTS拡張の話はまだ続きますが、今日困ったことが解決したのでネタにしました。 Plugin的な機構を実現したくて、Assembly.LoadFromでDLLを読み込んでいる箇所があるのですが、読み込んだDLLの先で呼び出しているライブラリ(実際にはNewtonsoft.Json)のバージ…

VSTSのAPIを使ってビルドログを取得する

以前紹介したVSTSのService WebHookを受け取る処理の中で、ビルドの詳細を送信したいため、APIを使ってビルドログを取得することにしました。 tech.tanaka733.net コードはこんな感じです。 var build = new BuildHttpClient(new Uri("https://<yoruaccount>.VisualStudio</yoruaccount>…

VSTS の APIを使って指定したビルド定義をビルドキューに積む

VSTSにはAPIがあるので、指定したビルド定義をビルドQueueに積むことができます。 Visual Studio Team Services and Team Foundation Server REST API Reference ビルド周りについてはこちら。 Builds | REST API Reference for Visual Studio Team Services…

RPi2 で Windows IoT (5) Azure IoT Hub その2 メッセージを受け取る

前回の反対にIoT Hubからメッセージを受信する方法です。ドキュメントにもあるのですが、IoT Hubではメッセージを最低1回は受信するように保証(到達保証)する ことができますが、そのためにはデバイス側で受け取ったという通知をIoTHubに返してあげる必要が…

RPi2 で Windows IoT (4) Azure IoT Hub その1 メッセージを送る

今回は毛色を変えて Azure IoT Hubにつなげてみます。 azure.microsoft.com MSのエヴァんじぇリストの方が記事にしているのですが、まだPreviewでここからもさらに様子が変わっている感じです。 IoT HubにWindows 10 IoT Coreでつなぐ - デバイスとITの架け…

AWS Tools for Windows PowerShell と SDK for .NET を参照するCmdletを組み合わせたらMissingMethodExceptionが出た話

あまりこの現象に遭遇することはないと思いますが、遭遇してそれなりに原因究明に時間がかかったのでまとめておこうと思います。 AWSにはWindows環境でAPIを実行するツールとして、Tools for PowerShell と SDK for .NET があります。 AWS Tools for Windows…

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のアプリを動かして操作するにはディスプ…