銀の光と碧い空

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

.NET Core

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で話そうと思ったもののすでにセッションは締め切られていたので、飛び入りトークとし…

.NET Core on RHEL でSoftware Collectionsの有効化を永続化する

.NET Core on RHEL (Red Hat Enterprise Linux)はsclコマンドで有効化しますが、これはいったんログインするたびに有効化するコマンドを実行する必要があります。これをログイン時に自動で有効化する方法があります。 詳しくはこちらのドキュメントを参照し…

Eclipse Che Language Server版でASP.NET Coreプロジェクトを作成する

先日、Microsoft, Red Hat, CodeEnvyが協力して、「Language Services」と呼ばれるサービスにJSON-RPCベースなオープンな仕様のプロコトルを発表しました。Visual Studio Codeで使っているものを公開して、より汎用的に使えるようにしていきたいという流れの…

.NET Core on RHEL をインストールしようとして、有効なリポジトリIDではありませんといわれたら

昨日.NET Core on RHEL がリリースされました。インストールについては昨日のブログに書いた通り、こちらのページを見ればよいのですが、最初のコマンドでタイトルのようなエラーがでるケースがあります。 .NET - Powerful Open Source Development 英語環境…

.NET Core on RHEL がRTMされました 【速報版】

.NET Coreとしては長く待った感がありますが、昨年11月に発表された.NET Core on Red Hat Enterprise Linux(RHEL)に関しては早くもRTM出たかという印象です。というわけで日本時間の28日に.NET CoreがASP.NET Core, EntityFramework CoreなどとあわせてRTMさ…

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 せっかくなので動作確認した手順をまとめておきました。

.NET Core on RHEL のバイナリが公開されました

日本時間の4/13 1:00AM からのWebinar で .NET Core 1.0 on RHELを中心とした紹介がありました。 developers.redhat.com 動画の中ではyum install -y rh-dotnet-core10で入るよと言っていますが、現時点ではまだyumからではなく、tar.gzなバイナリとしてです…

RHEL7 上で ASP.NET CoreCLR の dockerイメージを試してみる

最新の ASP.NET Coreの状況どうなっているのかなあということでdockerイメージで試してみました。あくまでdocker上での動作なので、RHEL上での.NET対応とは別の話です。

Ubuntu で CoreCLR で HelloWorld したい

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