2013-07-17 1 views
0

Наш главный сайт - ASP.net 4.5 и использует Ektron (A .net CMS). Я пытаюсь превратить его в гибрид MVC4/Webforms.
Насколько я могу сказать, у меня есть все потребности MVC4 установлены правильно, но когда я пытаюсь ударить контроллер по умолчанию Home я получаю классическийПросмотр не найден в MVC4/ASP.net 4.5 гибридное приложение

[InvalidOperationException: The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched: 
~/Views/home/Index.aspx 
~/Views/home/Index.ascx 
~/Views/Shared/Index.aspx 
~/Views/Shared/Index.ascx 
~/Views/home/Index.cshtml 
~/Views/home/Index.vbhtml 
~/Views/Shared/Index.cshtml 
~/Views/Shared/Index.vbhtml] 

Я установил MVC4 используя NuGet и путем копирования через контроллеры по умолчанию, вид и связанные файлы App_Start и Global.asax из приложения MVC по умолчанию. Я также установил WebAPI, который работает нормально (так что говорит, что маршрутизация работает корректно, то есть я могу перейти к API/Значениям и получить значения по умолчанию для api-данных просто отлично).

Сайт установлен как основной сайт, то есть не является подсайтом или суб-приложением.

Первоначально я думал, может быть, возникла проблема с секцией обработчиков, поскольку Ektron (наша CMS) имеет массу обработчиков, которые она добавляет, но разрывает web.config и не может найти никаких проблем там. Я даже попытался заменить его на одно из приложения MVC4 по умолчанию и получил ту же ошибку. Примечание. Мне пришлось изменить один раздел по умолчанию web.config и в моем обычном.
Когда у меня есть этот раздел есть:

 <dependentAssembly> 
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-2.1.10.0" newVersion="2.1.10.0" /> 
    </dependentAssembly> 

Я получаю ошибку

Could not load file or assembly 'System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

Я смотрел на детали для сборки этой библиотеки и нашел, что это была версия 4.0.0.0, поэтому я изменил этот раздел сказать

 <dependentAssembly> 
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
    </dependentAssembly> 

который фиксирует эту ошибку, и, насколько я могу сказать, это нормально, но опять же, я остался с выше проблемой взглядов не найден.

Любая помощь была бы принята с благодарностью.

+0

Каков фактический путь к вашему представлению? – SLaks

ответ

0

ОК, я чувствую себя немым.

@SLaks простой вопрос помог мне найти ответ.

У нас довольно сложная система сборки. Он объединяет проект базового кода Ektron, который представляет собой веб-сайт, а не проект, с нашими основными проектами и библиотеками классов в выходные каталоги, в этом случае/debug, в котором указывается мой IIS. Есть несколько шагов, включая преобразование нашего веб-проекта обратно в веб-сайт во время «сборки» (не спрашивайте, это боль, но ускоряет время сборки в тонну). В любом случае мы копируем только некоторые типы файлов, а .cshtml не было в списке, так что да, нет папки просмотра в выходной папке отладки. , ,

Смежные вопросы