くりーむわーかー

プログラムとか。作ってて ・試しててハマった事など。誰かのお役に立てば幸いかと。 その他、いろいろエトセトラ。。。

IIS

ASP.NET Core で作ったMVCをIISで動かす

これからは「ASP.NET Core」だ!!みたいな話を見た。そういうノリは冷ややかに見る人間なのですが、いずれにしろ、そろそろ触ってみようかと思いまして、とりあえずIISで動かす。調べてみると色々黎明期っぽく、ちょっと混乱気味?ひとまず動かした流れ。

Visual Studioで作った空のテンプレアプリをIISで動かすまで。

まず、必要なもののインストール。

IISとかの最初のセットアップはこの辺。ちなみに、Visual Studioで.net core Web アプリケーションを新規作成すると、ほんとにしょっぱなは.net core sdkが勝手にインストールされるっぽい気がする。

そしたら環境の確認。まず「sdk」。コマンドで「dotnet --version」とかやって返事があればOK。 sample02

次は「ASP.NET Core モジュール」。IIS開いて↓を確認。 sample03
sample04

そしたら、Visual Studioでアプリを作って、テンプレのまま何もせずビルド。

sample01

コマンドプロンプトで「.csproj」があるフォルダに移って、「dotnet run」を実行。実行するとlocalhostのURLが出るので、ブラウザでアクセスすると↓の感じのサイトがでる。

sample05
sample06

んで、これは.net coreに標準でついてる「Kestrel」っていうWebサーバで動いてるらし。

IISで動かすためには、「publish」ってコマンドでそれようのフォルダ構成やらDLLやらをまとめる必要がある様子。日本語で「発行」ってことらしい。コマンドでやるのは結構見るのでVisual Studioでやる場合は↓。発行先は色々あるっぽいけど、フォルダでやる。

sample07
sample08

そしたらIISでサイト作る。サイトの物理パスは上記の発行で指定したフォルダ。

sample09

ポートとかはテキトーに。で、アプリケーションプールを下の「マネージコードなし」する。

sample10

ここまでで、作ったサイトにアクセスすると「Kestrel」で動かしたときのページと同じものがでる。

おしまい。あと、認証とか色々ためしてみよ。

端末変えたら500.21のエラー

最近、PC変えたんですけど、ローカルのIISで.netのWebアプリ動かしたときに500.21エラーが出た。

sample

ManagedPipelineHandlerってなんぞ?

調べてみると、.netが完全にはインストールされてないらしい。SDK入れたような気がするんですが・・・。

↓のコマンドでインスコ。管理者で実行したコマンドプロンプトじゃないときっとダメ。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis -i

↑で治った。

問合せ