ASP.NET Core:daruyanagi.jp を ASP.NET Core 2.1 へ移行させた
執筆日時:
今まで「2.1? あ、そぅ」と聞き流していた俺氏、移行作業をせざるを得ない模様 / “「.NET Core 2.0」のサポートは9月1日で終了 ~「.NET Core 2.1」への移行を - 窓の杜” https://t.co/3qCA4Fnozt
— だるやなぎ 帝国元帥 (@daruyanagi) 2018年6月21日
Current とか LTS とかよくわかんないんですが、ASP.NET Core 2.0 のサポートが終わるそうなので、daruyanagi.jp の移行作業を行いました。
SDK のインストール
とりあえずターゲット フレームワークを切り替えとくか、と思ったのですが 2.1 がプルダウンに出てこないので、SDK のインストールを行います。
なんとなくインストーラーをダウンロードしちゃったのですが、2.0 のインストールは chocolatey でやった気がするからコマンドラインでもよかった。
ちゃんとプルダウンに 2.1 がでてきたので切り替えました。
とりあえずデバッグ → エラー
とりあえず[F5]してみると、エラーが発生。エラーメッセージの意味はよくわかんなかったのですが、IIS Express がダメだというのはわかったので、それ以外に切り替えました。
それ以外にもいろいろ警告が出ていた気がするけど、キレイさっぱりなくなって、見慣れた daruyanagi.jp が「Microsoft Edge」で実行されました。IIS Express じゃなくても、ASP.NET Core に内蔵の Webrick みたいなサーバーが使えるんだな(何度聞いても名前が覚えられないんだけど、Kestrel っていうらしい?)。
NuGet パッケージの入れ替え
このままデプロイしちゃおうかなって思ったのですが、変なところでハマると嫌だなーと思い、しばやんのブログでもう一度いろいろ確かめました。
頭悪すぎて色々よくわからなかったのですが、
ASP.NET Core 2.0 から Microsoft.AspNetCore.All という狂気に満ちたメタパッケージが用意されましたが、2.1 からはマイルドになった Microsoft.AspNetCore.App というメタパッケージが追加されました。
っていう部分はウチの環境でも対応しておいた方がいいかなって思ったので、NuGet パッケージを入れ替えました。
更新インジケーターが出ている Microsoft.AspNetCore.All をブッコ抜き、Microsoft.AspNetCore.App に入れ替えるだけ。これで狂気から解放されたようです。
これでウチの移行作業はだいたい終わりですが、リポジトリ上での変更はマジでターゲット フレームワークの変更だけでした。あとでいろいろ問題が出ないとも限らないけど、スクショとりながら進めるほどの作業でもなかった。
Web Deploy できない問題
さて、あとはデプロイするだけなのですが、ウチの環境はいろいろ腐り始めてるっぽくてエラーがでる。
一通りググってみたけどピッタリの解決策は見つからなくて、FTP でデプロイするという邪悪な方法でしのいできたのですが――
未解決:Visual Studio 2017 から Azure へデプロイできなくなった(回避策) - だるろぐb.hatena.ne.jpGitHubからデプロイするようにするのはダメなのかしら?
2018/06/20 23:50
賢者の声がしたので、それに従ってみました。いや、前々からやろうと思ってたんだけど、なんかめんどくさくて後回しになってただけなんだからねっ!
で、やってみたらフツーにイケました。ソースコード管理は GitHub でやってるし、こっちの方が断然いいな。ちゃんと master ブランチを触らない癖も付きそうだ。