問題 §
ASP.NET MVCのWindows認証のアプリがWindows Serverで動作しない
ローカルのデバッグ環境では動いている
原因 §
ローカルのIISとサーバのIISはいろいろな意味で違っている。
解決 §
既に【IISマネージャ】で【アプリケーションの追加】までは終わっているとして、HTTP Error 500.30 - ASP.NET Core app failed to startというエラーがWebブラウザ上で出ているとする。
これ以後の対策は2段階ある。
- アプリの動作がインプロセスだとHTTP Error 500.30 - ASP.NET Core app failed to startとなって起動しない。対策は【ASP.NETアプリでWindows認証を設定するとHTTP Error 500.30 - ASP.NET Core app failed to startとなって起動しない】で述べた通り
- すると、エラーが"An error occurred while starting the application"に変わる。そこで、IISマネージャの【IIS】の【認証】で、Windows認証を有効にする
補足 §
"An error occurred while starting the application"の原因を調べる場合は、このあたりを参考にログ出力を有効にする。web.configのstdoutLogEnabledをtrueにする。以下は一例。ログ出力ディレクトリを予め作っておく。web.configはプロジェクトにはないが実行フォルダにはある。
<aspNetCore processPath="dotnet" arguments=".\WebFileWatcher001.dll"
stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout"
hostingModel="OutOfProcess" />