首页 文章

System.Configuration.ConfigurationErrorsException未被用户代码处理,Message =无法加载文件或程序集'System.Web

提问于
浏览
0

我已经阅读了以下文章http://msdn.microsoft.com/en-us/library/ff650307.aspx,关于如何从多个域验证asp.net mvc用户,所以在我的asp.net mvc中我做了以下内容: -

我在web.config中添加了以下内容: -

<system.web>
    <membership>
      <providers>
        <add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web,               Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="TestDomain1ConnectionString" connectionUsername="ad-domainA.intra\it360ad.user" connectionPassword="$$$$$" />

      </providers>
    </membership>

<connectionStrings>

<add name="TestDomain1ConnectionString" connectionString="LDAP://ad-domainA.intra/CN=Users,DC=ad-domainA,DC=intra" />

我添加了以下Account.controller: -

[AllowAnonymous]
        public ActionResult Login(string returnUrl)
        {
            ViewBag.ReturnUrl = returnUrl;
            return View();
        }

        //
        // POST: /Account/Login

        [HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public ActionResult Login(LoginModel model, string returnUrl)
        {


            MembershipProvider domainProvider;

            domainProvider = Membership.Providers["TestDomain1ADMembershipProvider"];


            // Validate the user with the membership system.
            if (domainProvider.ValidateUser(model.UserName, model.Password))
            {

                if (Request.QueryString["ReturnUrl"] != null)
                {

                    FormsAuthentication.RedirectFromLoginPage(
                        model.UserName, false);
                }
                else
                {
                    // If there is no RequestUrl query string attribute, just set
                    // the authentication cookie. Provide navigation on the login page
                    // to pages that require authentication, or user can use browser
                    // to navigate to protected pages.
                    // Set second parameter to false so cookie is not persistent
                    // across sessions.
                    FormsAuthentication.SetAuthCookie(model.UserName, false);
                }
            }
            else
        {

            ModelState.AddModelError("", "The user name or password provided is incorrect.");
            return View(model);
        }

            return RedirectToLocal(returnUrl);

        }

但是当我在登录界面中输入我的用户名和密码并点击回车时,我收到以下错误: -

System.Configuration.ConfigurationErrorsException未被用户代码处理HResult = -2146232062 Message =无法加载文件或程序集'System.Web,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一 . 该系统找不到指定的文件 . (C:\ Users \ john.john \ Desktop \ test login \ TMS \ TMS \ web.config第39行)Source = System.Web BareMessage =无法加载文件或程序集'System.Web,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a '或其中一个依赖项 . 该系统找不到指定的文件 . Filename = C:\ Users \ john.john \ Desktop \ test login \ TMS \ TMS \ web.config Line = 39 StackTrace:位于System.Web.Security.Membership.get_Providers的System.Web.Security.Membership.Initialize()处()InnerException:System.IO.FileNotFoundException HResult = -2147024894 Message =无法加载文件或程序集'System.Web,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一 . 该系统找不到指定的文件 . Source = mscorlib FileName = System.Web,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a FusionLog ====预绑定状态信息===日志:用户= AD-ITSERVICES \ john.john日志:DisplayName = System.Web,Culture =中性,PublicKeyToken = b03f5f7f11d50a3a(部分)WRN:为程序集提供了部分绑定信息:WRN:程序集名称:System.Web,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a |域ID:4 WRN:仅提供部分程序集显示名称时发生部分绑定 . 警告:这可能导致装订器装入错误的装配 . 警告:建议为程序集提供完全指定的文本标识,即WRN:由简单名称,版本,区域性和公钥标记组成 . 警告:有关此问题的更多信息和常见解决方案,请参阅白皮书http://go.microsoft.com/fwlink/?LinkId=109270 . 日志:Appbase = file:/// C:/Users/john.john/Desktop/test login / TMS / TMS / LOG:初始PrivatePath = C:\ Users \ john.john \ Desktop \ test login \ TMS \ TMS \ bin调用程序集:(未知) . ===日志:此绑定在默认加载上下文中启动 . 日志:使用应用程序配置文件:C:\ Users \ john.john \ Desktop \ test login \ TMS \ TMS \ web.config日志:使用主机配置文件:C:\ Users \ john.john \ Documents \ IISExpress \ config \ aspnet.config日志:使用C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config中的计算机配置文件 . 日志:此时策略未应用于引用(私有,自定义,部分或基于位置的程序集绑定) . 日志:尝试下载新的URL文件:/// C:/Users/john.john/AppData/Local/Temp/2/Temporary ASP.NET Files / root / 2fc69b03 / 2c0137b8 / System.Web.DLL . 日志:尝试下载新的URL文件:/// C:/Users/john.john/AppData/Local/Temp/2/Temporary ASP.NET Files / root / 2fc69b03 / 2c0137b8 / System.Web / System.Web.DLL . 日志:尝试下载新的URL文件:/// C:/Users/john.john/Desktop/test login / TMS / TMS / bin / System.Web.DLL . 日志:尝试下载新的URL文件:/// C:/Users/john.john/Desktop/test login / TMS / TMS / bin / System.Web / System.Web.DLL . 日志:尝试下载新的URL文件:/// C:/Users/john.john/AppData/Local/Temp/2/Temporary ASP.NET Files / root / 2fc69b03 / 2c0137b8 / System.Web.EXE . 日志:尝试下载新的URL文件:/// C:/Users/john.john/AppData/Local/Temp/2/Temporary ASP.NET Files / root / 2fc69b03 / 2c0137b8 / System.Web / System.Web.EXE . 日志:尝试下载新的URL文件:/// C:/Users/john.john/Desktop/test login / TMS / TMS / bin / System.Web.EXE . 日志:尝试下载新的URL文件:/// C:/Users/john.john/Desktop/test login / TMS / TMS / bin / System.Web / System.Web.EXE . 堆栈跟踪:
at System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,
StackCarklMarkHandle stackMark,IntPtr pPrivHostBinder,Boolean loadTypeFromPartialName,ObjectHandleOnStack type)at System.RuntimeTypeHandle.GetTypeByName(String name,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark&stackMark,IntPtrSystem.Web.Compilation的System.Type.GetType(String typeName,Boolean throwOnError,Boolean ignoreCase)处的System.RuntimeType.GetType(String typeName,Boolean throwOnError,Boolean ignoreCase,Boolean reflectionOnly,StackCrawlMark&stackMark)中的pPrivHostBinder,Boolean loadTypeFromPartialName . System.Web.Configuration.ConfigUtil.GetType(String typeName,String propertyName,ConfigurationElement configElement,XmlNode node,Boolean checkAptcaBit,Boolean ignoreCase)中的BuildManager.GetType(String typeName,Boolean throwOnError,Boolean ignoreCase)InnerException:

在帐户控制器内的以下代码行: -

public ActionResult Login(LoginModel model, string returnUrl)
        {MembershipProvider domainProvider;
domainProvider = Membership.Providers["TestDomain1ADMembershipProvider"];

是什么导致了这个错误?

1 回答

  • 1

    对于System.Web的这个声明

    System.Web, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
    

    版本也需要(4.0对吧?)

    Version=4.0.0.0
    

相关问题