调用API服务时无法加载文件或程序集“System.Web.Mvc”

时间:2017-08-21 08:34:45

标签: c# .net asp.net-mvc

我部署了一个应用程序。但是当我尝试调用API服务时,它会显示如下错误:

  

'无法加载文件或程序集'System.Web.Mvc,Version = 4.0.0.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。系统找不到指定的文件。'

但我们正在使用该应用程序直到昨天。没有报道任何问题。这个问题背后可能的原因是什么?

我看到了很多关于这个问题的答案。由于应用程序正在生产中,我可以部署版本4.0.0.0还是更改Web配置?

2 个答案:

答案 0 :(得分:0)

也许尝试使用fusion来检查正在加载的库,也可以从csproj文件中检查项目中是否声明了正确的版本。

答案 1 :(得分:0)

我在多个不同的项目中遇到过这个问题(总是在本地)。以下是可以帮助我解决问题的步骤。

  • 您的NuGet包可能存在问题 - 如果您无法找到它,请确保在项目根目录的System.Web.Mvc.dll文件夹中找到文件packages文件,备份packages文件夹,删除它,然后右键单击Visual Studio中的解决方案名称和"恢复包"
  • 或者文件可能无法复制到执行文件夹。转到yourSolution/yourProject/bin并查找System.Web.Mvc.dll - 如果文件不在bin文件夹中,请尝试清理重建解决方案。如果仍然没有,请尝试手动复制/粘贴(例如,从packages文件夹或任何其他来源)
  • 尝试升级/降级NuGet包管理器中的库

由于您的问题发生在prod环境中,我猜这些答案可能没有帮助,但它可能会让您跟踪: - /