私はAzureWebプロジェクトの開発の初期段階にあり、完了するまでに6か月以上かかる可能性があります。UIを構成するビューは、MVC3プレビュー1にあるRazorビューエンジンによって提供されるクリーンな構文の恩恵を受けます。
サイトがAzureWebロールとして実行されるたびに、次の例外がスローされます。
InvalidOperationException:ビュー'インデックス'またはそのマスターが見つかりませんでした。 次の場所が検索されました。 〜/ Views / Content / Index.aspx 〜/ Views / Content / Index.ascx 〜/ Views / Shared / Index.aspx 〜/ Views / Shared / Index.ascx 〜/ Views / Content / Index.cshtml 〜/ Views / Shared / Index.cshtml
ノート:
- スタンドアロンインスタンスとして起動すると、サイトは期待どおりに実行されます(MVC 2から3へのアップグレードが正しく機能したことを検証しているようです。次の2つのポイントを参照してください)。
- '〜/ Views / Content / Index.cshtml'ファイルと、それが参照する'〜/ Views / Shared /_Layout.cshtml'LayoutPageが存在します。
- MVC 3 Preview 1リリースノートの手順に従いました(System.Web.Mvcの2.0バージョンへの参照を3.0に置き換え、csprojファイルのProjectTypeGuidsを変更し、bindingRedirectバージョンを更新しました)。
- Googleを検索すると、System.Web.Mvc.dllの[ローカルコピー]を[True]に設定するという提案が1つありました。ページが古いバージョンのMVCを参照していたようです。その変更を行うことは役に立ちませんでした。
編集:
- Azureディレクトリをもう少し掘り下げるというアイデアが浮かびました。AzureCloudServiceが使用するビルドプロセスは.cshtmlファイルをスキップしているようです。ファイルをAzureロールディレクトリに手動でコピーすると、ページが期待どおりに読み込まれます。これらのファイルを何がコピーするのかわからない場合は、ビルド後のスクリプトを作成するだけです。