我在Visual Studio中收到此错误,当我使用@
Html.Sitecore:
‘System.Web.Webpages.Html.Htmlhelper’ does not contain a definition for ‘Sitecore’ and the best extension methods overload ‘Sitecore.Mvc.HtmlHelperExtensions.Sitecore(System.Web.Mvc.HtmlHelper)’ has some invalid arguments.`
但是,一旦部署,它确实运行没有任何问题.
我在使用Sitecore 7.2与MVC 5.1.
我读过的处理类似错误消息的文章,请参阅Views文件夹web.config文件的system.web.webPages.razor部分.这是我的解决方案中出现的.
<system.web.webPages.razor> <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" /> <pages pageBaseType="System.Web.Mvc.WebViewPage"> <namespaces> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Routing" /> </namespaces> </pages>
原来我以为我只需要重新启动VS,但是没有工作.有没有人有什么建议.
编辑
这是标准的Sitecore 7.2安装,因此具有以下绑定重定向:
<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" xmlns="urn:schemas-microsoft-com:asm.v1"/> <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.1.0.0" xmlns="urn:schemas-microsoft-com:asm.v1"/> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" xmlns="urn:schemas-microsoft-com:asm.v1"/> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" xmlns="urn:schemas-microsoft-com:asm.v1"/> </dependentAssembly>
另外,从视觉工作室的输出看,还有一个我以前没有发现的额外的错误:
实例参数:无法从“System.Web.WebPages.Html.HtmlHelper”转换为“System.Web.Mvc.HtmlHelper”
编辑2
我不再认为这是一个Sitecore MVC问题.我得到一个类似的错误@ Html.ActionLink(“xxx”,“xxx”).其他人在VS2012看到这个问题,但是我在使用2013.
编辑3
这个问题现在有很多答案.我建议尝试每一个,因为它似乎有很多原因可能会发生这个错误.