@ MvcHtmlString.Create(...))出错 - system.web.mvc

时间:2012-02-09 01:55:35

标签: asp.net-mvc dotnetopenauth

我创建了一个新的asp.net mvc 4版本和 包括从Nerddinner项目实施的dotnetopenauth。

使用formsauthentication进行注册和身份验证可以正常工作。上 另一方面,当我包含对于openauth的登录详细信息时 - logonopenid.cshtml - 实现我收到错误:

“无法加载文件或程序集”System.Web.Mvc,Version = 1.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个 依赖。定位程序集的清单定义没有 匹配程序集引用。 (来自HRESULT的异常:0x80131040)“

来源错误:

Line 38: @MvcHtmlString.Create(Html.OpenIdSelectorScripts(options, 
null)) 

我检查过,我正在使用system.web.mvc version = 4并包含一个 mvchtmlstring和html helpers的定义包括一个定义 对于openidselectorscripts。我真的不知道为什么要求 程序集1.0.0。 任何帮助将不胜感激。 brgds, 塞巴斯蒂安。

2 个答案:

答案 0 :(得分:2)

您需要将其添加到您的web.config文件中:

<runtime>
    <!-- When targeting ASP.NET MVC 4, this assemblyBinding makes MVC 1 references relink
         to MVC 4 so libraries such as DotNetOpenAuth that compile against MVC 1 will work with it. -->
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

答案 1 :(得分:1)

sebastian_h,

我之前见过这种情况。 'remote'内存回忆起与位于/ Views文件夹下的web.config中的条目相关的问题(而不是根web.config文件)。

我可能会离开这里,但这会敲响钟声。当然值得快速浏览一下。

相关问题