Я нахожусь на ранней стадии разработки веб-проекта Azure, который, вероятно, займет более шести месяцев.Представления, составляющие пользовательский интерфейс, выиграют от чистого синтаксиса, предоставленного механизмом представления Razor, который представлен в предварительном просмотре MVC 3 1.
Следующее исключение выдается, когда сайт запускается как веб-роль Azure.:
InvalidOperationException: The view 'Index' or its master was not found.
The following locations were searched:
~/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 работал правильно - см. Следующие два пункта)
- Существует файл '~ / Views / Content / Index.cshtml', а также Layout Layer '~ / Views / Shared / _Layout.cshtml'ссылки.
- Я выполнил шаги из примечаний к выпуску MVC 3 Preview 1 (заменил ссылку на версию 2.0 System.Web.Mvc версии 3.0, изменил ProjectTypeGuids в файле csproj и обновил версии bindingRedirect).
- В результате поиска в Google было предложено установить для параметра «Копировать локально» значение «True» для System.Web.Mvc.dll.Похоже, что страница ссылалась на старую версию MVC.Внесение этого изменения не помогло.
Редактировать:
- Мне просто пришла в голову мысль немного покопаться в каталогах Azure.Похоже, что процесс сборки, который использует облачная служба Azure, пропускает файлы .cshtml.Копирование файлов вручную в каталоги ролей Azure приводит к загрузке страницы, как и ожидалось.Если я не могу понять, что копирует эти файлы, я, вероятно, просто создаю скрипт пост-сборки.