銀の光と碧い空

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

.NET

FedoraやRHELの.NET CoreでVisual Studio CodeでのC# コード編集支援機能が使えない場合の対処法

.NET Core 2.0でRHELもcsproj形式をサポートしたり、Fedoraもサポートされるようになったのですが、Red HatやFedoraコミュニティから提供されている.NET Core SDKを入れた状態でVisual Studio CodeでC#プロジェクトを開いてもプロジェクトをロードできないと…

ふくてん Fukuoka .NET Conf で ASP .NET Coreのセッションをしました

国内では初めて東京近郊以外の地域*1でセッションしました。資料はこちらです。 ASP.NET Core のお気に入りの機能たち (docker向け) from Takayoshi Tanaka www.slideshare.net セッションで紹介した(しようとした)サンプルコードのGitHubリンクはこちらで…

Red Hat Container Development Kit を使って、.NET Core on Linux containerを無料で体験する

先日の記事に続いて、Red Hat Developer Programを利用しての無料体験の宣伝です。 developers.redhat.com .NET Core on RHEL (Red Hat Enterprise Linux Server)はRHELサーバー上でも動くのですが、Container Platform製品であるOpenShift上での利用もおす…

OpenShift で .NET Core 2.0を使いはじめる

先日、Red Hat版*1の.NET Core 2.0がリリースされました。 tech.tanaka733.net Getting Started Guide - Red Hat Customer Portal 続いてOpenShiftでも利用可能なコンテナやテンプレートも提供されました。OpenShift本体のアップデートとは別ものとして、イ…

Red Hat版 .NET Core 2.0 のリリースや、OpenShiftのWindows Server Containerサポートなどが発表されました

Red HatとMicrosoftが協力している技術分野に関して立て続けにプレスリリースが発表されています。いくつかの内容についてはすでに発表済みですが、再度まとめての記事になっているようです。 www.redhat.com www.redhat.com news.microsoft.com 技術的な詳…

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

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

2017年 .NET Core 1.x (Visual Studio 2017) プロジェクト向け AppVeyor での自動ビルドの設定

ChatWork 向けのC# クライアントを開発していて、ここ1~2年は更新していなかったものの、最近.NET Core対応させたり、API endpoint v2に対応したりしてまた更新するようになりました。 github.com 2年前にAppVeyorで自動ビルド環境を作っていましたが、当時…

Y8 2017 spring in Shibuya で .NET Core on Linux の内部について話しました

Y8 2017 Spring という技術系ノンジャンル(と私は理解している)イベントがあったので登壇してきました。CFPにリアクションして頂いたみなさまありがとうございました。こちらが資料です(更新するかもしれないです)。 doc.co イベントサイトはこちら。 y8-201…

Chatwork.Api をnetstandard1.6とnet45対応しました

ChatWorkのAPIエンドポイントがv2に変わる対応を公開したのですが、同時に0.5では.NET Frameworkでは使えなかったので0.6.1で.NET Framework 4.5でも使えるようにしました。 www.nuget.org

clrdbg は vsdbg にリプレースされました

以前このような記事を書いて、先日同じ手順を実行しようとしたらVisual Studio Codeは最早clrdbgをサポートしなくなりました、といった類のメッセージが出てデバッグできなくなっていました。 tech.tanaka733.net 確認してみると、Visual Studio CodeのC#拡…

Visual Studio 2017 で ASP.NET Coreプロジェクトでdockerデバッグしたいときはソリューションディレクトリを作らないといけない件

タイトルだけで言いたいことは以上なんですが、Visual Studio 2017でASP.NET Coreプロジェクトを作ってdockerサポートを有効化すると、こんな風にdocker-composeプロジェクトが作られてDocker for Windowsの上のDockerコンテナを使ってデバッグ実行ができる…

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

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

ASP.NET Core でローカライズする場合のリソースファイル名について

ASP.NET Coreのローカライズする際のリソースファイル名についてこのドキュメントを読んで気になったことがあったのでまとめました。 Globalization and localization | Microsoft Docs ローカライズそのものについてはこのドキュメントを参考にしてください…

.NET Core on Linux で systemd scriptでプロセス管理する (手抜き版)

ASP.NET Core でLinuxでホストする場合、以前の公式ドキュメントではsupervisorを使う方法が紹介されていました。ただ、CentOSやRHELだとEPELリポジトリにあるしなあと思っていたら、いつの間にか公式ドキュメントがsystemdを利用したサンプルに変わっていま…

ASP.NET Core MVC で static fileを認証ユーザーのみに公開する

ASP.NET Core MVCでstatic fileを公開する場合、基本的には用意されている Static File Middlewareを使うと便利です。以下のドキュメントに詳しく書いてあります。 Working with Static Files | Microsoft Docs が、このMiddlewareを使うとファイルは認証な…

ASP.NET Core で複数Webサーバーでセッションを共有するときは、IDistributedCacheとIDataProtectionに注意しないといけない話

ASP.NET Core Advent Calendar 13日目です。 qiita.com 初日にSignalRでエントリ書きましたが、もともと予定していたセッションについて簡単に追いかけてみましょう。ASP.NET Core でSessionを使う場合、まずはこのドキュメントを読むのがよいでしょう。 Man…

Visual Studio から AzureやWindows以外のdocker containerで走るASP.NET Core をリモートデバッグする

空いていたので予定を早めて Visual Studio Advent Calendar 12日目のエントリを書きます。 qiita.com Windows上のdockerやAzure Container ServicesであればVisual Studio Tools for Dockerを使えばVisual StudioからASP.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 のリリースと…

PowerShell on Linux ふりかえり

PowerShell Advent Calendar 2日目のエントリです。 qiita.com 今年は.NET Core on RHELを追っかけた一年だったので、その関連でPowerShell on Linuxの現状というか簡単な振り返りをしてみたいと思います。事の始まりはPowerShell のOSS化とLinuxへの対応が…

ASP.NET Core on Linux でも SignalR が使いたい

ASP.NET Core Advent Calendar一日目です。内容は直前で変えたのですが、Sessionまわりの話は空いている日のネタとして投下したいと思います。 qiita.com SignalR もASP.NET Core対応が進んでいます。 github.com ので現時点で動作するアプリをASP.NET Core…

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

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

.NET Core on RHEL で csproj をいじってみる

.NET Core に MSBuild がα版としてリリースされました。 blogs.msdn.microsoft.com ちなみに、これは同じタイミングでリリースされた.NET Core 1.1には同梱されておらず、.NET Core 1.0 の preview3 に同梱されています*1。で、先のブログのリンク先にダウン…

Connect(); 2016 での Linux関連の発表まとめ

ぐぐらびりてぃの低さで有名*1なConnect();の1日目のキーノートが終わりました。Linux関連*2での新機能等の発表をまとめてみました。 ニュース系 MicrosoftがLinux Foundationのプラチナメンバーに www.linux.com SamsungがMicrosoftと協力して、Tizen上で動…

Entity Framework Core で PostgreSQL のAutoIncrement列を使う場合の注意

Entity Framework Core でModel FirstでAutoIncrementな主キーを定義するときはモデルクラスをこのように定義すると思います。 public class ToDo { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int Id { get; set; } [Required, M…

Visual Studio Tools for Docker が ASP.NET CoreのDockerデバッグ実行している仕組みを追ってみた

Docker for Windowsを使うと、Visual StudioからF5でコンテナ内にアプリをデプロイしてデバッグできるようになったという記事を見たのですが kiyokura.hateblo.jp 気になるのは、どうやってデバッグしているかということです。ポイントとしてはDockerとホス…

Visual Studio Code で ASP.NET Core とTypeScript開発をセットアップしたい(未完)

Visual Studioを使って、ASP.NET Core で TypeScriptを使うセットアップについては公式のドキュメントがあります。 ASP.NET Core · TypeScript なのですが、Visual Studio Codeを使った場合のセットアップ方法が見つからなかったので試してみました。ただ、…

ASP.NET Core on Linux で Session Replication するにはNFSが必要そうだというお話

ASP.NET Core でSession Replication (Sessionを外部で管理して、複数台で動かしても、また再起動したあともSessionデータを利用できるようにする)をやろうと考えた時のお話です。まだ確信をもっているわけではないのですが、調べたことをまとめるのも兼ねて…

YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa で .NET Core on Linux について飛び入りトークしてきました

yapcasia8oji-2016mid.hachiojipm.org 2日目の日曜の朝に飛び入りトークしてきました。以下が資料になります。 doc.co .NET Core のRTMが6/27に決まったあと、そうだYAPCで話そうと思ったもののすでにセッションは締め切られていたので、飛び入りトークとし…