IIS7.0で.net framework4.0で動作させる
BugTrackerを導入しましたが、.net framework 4.0で動作するようでした。
これまで全て2.0ベースで開発してきたため、4.0は初めてでしたが、VSの開始オプションを「4.0」にすれば良いだけだと軽く考えていました。が、実際にはIIS側の設定が必要でした。
症状から説明します。BugTrackerを導入後に実行したところ、
認識されない属性 'targetFramework' です。
というエラー画面になり、web.configの「
エラー画面に共通している、画面下に表示される実行時の.netのバージョンが2.0.xxxとなっており、4.0で実行されていないことが分かります。
ASP.NETサイトを .NET Framework 4環境へ移行すると「構成エラー:認識されない属性 'targetframework' です」エラーが発生する
にもある通り、アプリケーションプール(以降、APとします)側の変更なようで、手順は以下の通り。
- IIS Managerを開く
- 左サイドより「アプリケーションプール」
- .net4にするサイト名を右クリックして「基本設定」
- 「.net framework version」が2になっているので、4に変更
以上で完了したと思いましたが、私の場合この状態だとまだver2.0で実行されていました。
私の場合、サイトアプリケーションのAPが「Default Application Pool1」(だったかな)になっており、サイト名と同じAPになっていなかったためです。
必ずしも同じようになるわけではないと思いますが、もしAPが「Default〜」になってしまっていた場合の方法は以下の通り。
- アプリケーションを選択して「基本設定」
- アプリケーションプールを「Default〜」からサイト名に変更
以上。