Mar*_*ies 15 asp.net-mvc sitecore sitecore-mvc sitecore7.2
当我使用时,我在Visual Studio中收到此错误@Html.Sitecore:
"System.Web.Webpages.Html.Htmlhelper"不包含"Sitecore的"和最佳推广方法重载"Sitecore.Mvc.HtmlHelperExtensions.Sitecore(System.Web.Mvc.HtmlHelper)"的定义有一些无效arguments.`
但是,一旦部署,它确实运行没有任何问题.
我正在使用Sitecore 7.2和MVC 5.1.

我读过的文章涉及类似的错误消息,请谈谈文件夹文件的system.web.webPages.razor部分.这就是它在我的解决方案中的表现.Viewsweb.config
<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>
Run Code Online (Sandbox Code Playgroud)
最初我以为我只需要重新启动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>
Run Code Online (Sandbox Code Playgroud)
另外,在查看visual studio的输出时,还有一个我之前没有发现的错误:
Instance argument: cannot convert from 'System.Web.WebPages.Html.HtmlHelper' to 'System.Web.Mvc.HtmlHelper'
编辑2
我不再认为这是Sitecore MVC问题.我得到了类似的错误@Html.ActionLink("xxx", "xxx").其他人在VS2012中看到了这个问题,但我使用的是2013年.
编辑3
这个问题现在有很多答案.我建议尝试每一个,因为似乎有很多原因可能会发生此错误.
Ahm*_*our 13
试试这个,然后尝试重启visual studio.
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="Sitecore.Mvc" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
Run Code Online (Sandbox Code Playgroud)
你忘了添加, <add namespace="Sitecore.Mvc" />以便intellisense可以在VS中获取它.
小智 5
我已使用顶部的以下行,问题已得到解决。
@inherits System.Web.Mvc.WebViewPage
Run Code Online (Sandbox Code Playgroud)
我现在已经解决了这个问题。我只需安装 Visual Studio 2013 的 Update 2。真令人沮丧。
感谢 StriplingWarrior 和 Ahmed Okour 提供的有用建议。
| 归档时间: |
|
| 查看次数: |
28601 次 |
| 最近记录: |