当前位置: 首页 > 知识库问答 >
问题:

找不到文档,无法解决“无法加载文件或程序集'System.Web.Mvc'或其依赖项之一”

邓鸿雪
2023-03-14

我尝试将两个 ASP.NET Web 项目(一个 Facebook 应用程序和一个机器人)部署到同一个 Azure 网站,但在我部署了它们之后,我收到了:

无法加载文件或程序集“System.Web”。Mvc’或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x80131040)

我不确定我能做什么,除了从头开始并将两个项目合并成一个项目(不可取)重新发布。到目前为止,我已经:

  1. 通过NuGet安装Microsoft.AspNet.Mvc,如其他线程中建议的那样。两个项目都有版本 5.2.3.0
  2. 确保 Web.config 文件包含 5.2.3.0

机器人

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>

应用程序

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>

以下是堆栈跟踪:

[FileLoadException:无法加载文件或程序集“System.Web.Mvc”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的例外:0x80131040)]

[文件加载异常:无法加载文件或程序集“System. Web. Mvc,版本=5.2.3.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x80131040)]System. Reflance. Runtime Assembly._nLoad(AssemblyName fileName,String codeBase,证据汇编安全,Runtime汇编位置提示,StackCrawlMark

[ConfigurationErrorsException:无法加载文件或程序集“System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。LoadAssemblyHelper(String assemblyName,Boolean starDirective)738
System.Web.Configuration.ComplationSection。从AppDomainBinDirectory()加载所有程序集217 System.Web.Configuration.CompirationSection。LoadAssembly(AssemblyInfo ai)130
System.Web.Complation.BuildManager。GetReferencedAssemblies(CompilationSection compConfig)170
System.Web.Comilation.BuildManager。GetPreStartInitMethodsFromReferencedAssemblies()92系统.Web编译.BuildManager。CallPreStartInitMethods(字符串preStartInitListPath,布尔值

[Http异常(0x80004005):无法加载文件或程序集“System. Web. Mvc,版本=5.2.3.0,文化=中性,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x80131040)]
System. Web. HttpRuntime.的第一次请求Init(HttpContext上下文)10044576 System. Web. HttpRuntime. EnsureFinst请求Init(HttpContext上下文)95 System. Web. HttpRuntime. ProcessestNotifi ation(IIS7Wor请求kerwr,HttpContext上下文)254

共有2个答案

锺离韬
2023-03-14

我决定从头开始我的Web项目,看看我是否能解决这个错误。关于如何将两个项目部署到一个Azure网站,我找到了另一个答案。这个想法是在主网站下创建一个虚拟目录,并将您的网站发布到根网站,在我的例子中是机器人,发布到虚拟目录。到目前为止,它似乎是成立的!

戚繁
2023-03-14

请尝试转到https://[your sitename]. SCM . azure websites . net/debug console/?shell=powershell

并执行以下@PowerShell提示符:

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("d:\home\site\wwwroot\bin\System.Web.Mvc.dll").FileVersion

这将告诉您 .MVC.dll是。

注意:您的现场文件位于\site\wwwroot下\

 类似资料: