ASP.NET Core:daruyanagi.jp を ASP.NET Core 2.1 へ移行させた

執筆日時:

Current とか LTS とかよくわかんないんですが、ASP.NET Core 2.0 のサポートが終わるそうなので、daruyanagi.jp の移行作業を行いました。

SDK のインストール

f:id:daruyanagi:20180623202128p:plain

とりあえずターゲット フレームワークを切り替えとくか、と思ったのですが 2.1 がプルダウンに出てこないので、SDK のインストールを行います。

www.microsoft.com

なんとなくインストーラーをダウンロードしちゃったのですが、2.0 のインストールは chocolatey でやった気がするからコマンドラインでもよかった。

f:id:daruyanagi:20180623202320p:plain

f:id:daruyanagi:20180623202323p:plain

ちゃんとプルダウンに 2.1 がでてきたので切り替えました。

f:id:daruyanagi:20180623202524p:plain

とりあえずデバッグ → エラー

f:id:daruyanagi:20180623202603p:plain

とりあえず[F5]してみると、エラーが発生。エラーメッセージの意味はよくわかんなかったのですが、IIS Express がダメだというのはわかったので、それ以外に切り替えました。

f:id:daruyanagi:20180623202756p:plain

それ以外にもいろいろ警告が出ていた気がするけど、キレイさっぱりなくなって、見慣れた daruyanagi.jp が「Microsoft Edge」で実行されました。IIS Express じゃなくても、ASP.NET Core に内蔵の Webrick みたいなサーバーが使えるんだな(何度聞いても名前が覚えられないんだけど、Kestrel っていうらしい?)。

NuGet パッケージの入れ替え

このままデプロイしちゃおうかなって思ったのですが、変なところでハマると嫌だなーと思い、しばやんのブログでもう一度いろいろ確かめました。

blog.shibayan.jp

頭悪すぎて色々よくわからなかったのですが、

ASP.NET Core 2.0 から Microsoft.AspNetCore.All という狂気に満ちたメタパッケージが用意されましたが、2.1 からはマイルドになった Microsoft.AspNetCore.App というメタパッケージが追加されました。

っていう部分はウチの環境でも対応しておいた方がいいかなって思ったので、NuGet パッケージを入れ替えました。

f:id:daruyanagi:20180623203608p:plain

更新インジケーターが出ている Microsoft.AspNetCore.All をブッコ抜き、Microsoft.AspNetCore.App に入れ替えるだけ。これで狂気から解放されたようです。

f:id:daruyanagi:20180623203730p:plain

これでウチの移行作業はだいたい終わりですが、リポジトリ上での変更はマジでターゲット フレームワークの変更だけでした。あとでいろいろ問題が出ないとも限らないけど、スクショとりながら進めるほどの作業でもなかった。

Web Deploy できない問題

f:id:daruyanagi:20180623203918p:plain

さて、あとはデプロイするだけなのですが、ウチの環境はいろいろ腐り始めてるっぽくてエラーがでる。

blog.daruyanagi.jp

一通りググってみたけどピッタリの解決策は見つからなくて、FTP でデプロイするという邪悪な方法でしのいできたのですが――

未解決:Visual Studio 2017 から Azure へデプロイできなくなった(回避策) - だるろぐ

GitHubからデプロイするようにするのはダメなのかしら?

2018/06/20 23:50
b.hatena.ne.jp

賢者の声がしたので、それに従ってみました。いや、前々からやろうと思ってたんだけど、なんかめんどくさくて後回しになってただけなんだからねっ!

f:id:daruyanagi:20180623204237p:plain

で、やってみたらフツーにイケました。ソースコード管理は GitHub でやってるし、こっちの方が断然いいな。ちゃんと master ブランチを触らない癖も付きそうだ。