2013-07-17 20 views
0

我们的主网站是ASP.net 4.5并使用Ektron(A .net CMS)我试图将它变成一个MVC4/Webforms混合体。
至于我可以告诉我正确安装一切MVC4需求,但是当我尝试打默认主页控制器我得到的经典在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] 

我安装使用的NuGet MVC4并通过复制在默认的控制器,视图以及来自默认MVC4应用程序的App_Start和Global.asax文件。我也安装了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) 

我看着装配细节为DLL并发现这是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指向的位置。涉及到几个步骤,包括在“构建”期间将我们的Web项目转换回网站(不要问,这是一个痛苦,但加速构建时间一吨)。 无论如何,我们只复制某些文件类型,并且.cshtml不在列表中,所以是的,在输出调试目录中没有视图文件夹。 。 。