| 234 | ==== 失敗する場合 ==== |
| 235 | |
| 236 | うまく行きませんか? どんな症状になるでしょう? |
| 237 | |
| 238 | * ビルドに失敗する場合 |
| 239 | |
| 240 | 実行しようとしたら以下の様なダイアログが表示されましたか? |
| 241 | |
| 242 | [[Image(fig-build-error.PNG, align=center)]] |
| 243 | |
| 244 | だとすれば、 Controller メソッドの記述で文法上のエラーなどが発生している可能性が高いです。「いいえ」をクリックしてダイアログを閉じ、 !HomeController.cs ファイルを開いてエラーのある箇所を修正しましょう。 |
| 245 | |
| 246 | Visual Studio の画面下にエラー一覧があり、そこにエラーの内容がリストアップされているかもしれません。 |
| 247 | |
| 248 | [[Image(fig-error-list.PNG, 640px, align=center)]] |
| 249 | |
| 250 | 隠れていて表示されていない場合は、上図で赤い丸で囲った辺りをクリックしてみてください。 |
| 251 | |
| 252 | もし、エラーが有るなら、そのエラーの内容をダブルクリックしてみましょう。実際にエラーになっている箇所にカーソルが移動するはずです。エラーの文面をヒントに、修正を試みてください。 |
| 253 | |
| 254 | * サーバーエラーが発生した場合 |
| 255 | |
| 256 | ビルドは通ってブラウザは起動したけど、 Hello, World とは表示されず、代わりに下図のようなエラー画面が表示されてしまった。 |
| 257 | |
| 258 | [[Image(fig-404.PNG, 640px, align=center)]] |
| 259 | |
| 260 | …のであれば、これは View の名前と Controller メソッドの名前が一致していないのが原因です。 |
| 261 | |
| 262 | ASP.NET MVC では、指定された URL の名前に相当する名前の View と Controller が選択されることになっています。ブラウザの URL 欄に表示されている URL を確認してみましょう。以下の様な URL になっているはずです。 |
| 263 | |
| 264 | {{{ |
| 265 | http://localhost:(ポート番号)/Home/Hello |
| 266 | }}} |
| 267 | |
| 268 | ここで、 Web サーバーのルートから見て、参照しようとしているリソースのパスは「!Home/Hello」となりますよね? このとき、 Web サーバーが呼びだそうとする View ファイルと Controller メソッドの名前は、以下の通りとなるのです。 |
| 269 | |
| 270 | * View ファイル: (View のルートディレクトリ)\__Home__\__Hello__.cshtml |
| 271 | * Visual Basic プロジェクトの場合、拡張子は .vbhtml |
| 272 | * Controller メソッド: __Home__Controller クラスの __Hello__ メソッド (__Home__Controller.__Hello__) |
| 273 | |
| 274 | もし、このどちらかが存在しない場合、実行時にサーバー内にてエラーが発生し、そのエラーの内容がブラウザに伝えられます。特に、上図で示したような「リソースが見つかりませんでした」というエラーは、 Controller メソッドが存在しない (つまり、名前が間違っている) 場合に発生します (Controller メソッドは見つけたけど View が見つからない場合には、もうちょっと違う内容のサーバーエラーになります)。 !HomeController.cs ファイルを開き、追加したメソッドの名前を確認し、修正しましょう。 |
| 275 | |