を使用すると、Visual Studio でこのエラーが発生します@Html.Sitecore
。
'System.Web.Webpages.Html.Htmlhelper' には 'Sitecore' の定義が含まれておらず、最適な拡張メソッド オーバーロード 'Sitecore.Mvc.HtmlHelperExtensions.Sitecore(System.Web.Mvc.HtmlHelper)' にはいくつかの無効な引数があります。
ただし、展開すると、問題なく実行されます。
MVC 5.1 で Sitecore 7.2 を使用しています。
同様のエラー メッセージを扱う記事を読んだことがありますが、フォルダファイルのsystem.web.webPages.razor
セクションについて述べています。これが私のソリューションに表示される方法です。Views
web.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>
もともと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>
また、ビジュアルスタジオからの出力を見ると、以前は見つけられなかった追加のエラーがあります:
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
現在、この質問にはかなりの数の答えがあります。このエラーが発生する理由は多数あるように思われるため、それぞれを試すことをお勧めします。