安装的nuget包依赖于发布后的旧版System.Web.Mvc.dll

时间:2015-02-13 21:18:57

标签: asp.net asp.net-mvc asp.net-mvc-4 iis nuget

我有一个使用Visual Studio 2010开发的MVC4应用程序。 项目在IIS Express上运行正常。 将它发布到IIS8并尝试访问它时,我得到一个例外,说明无法加载System.Web.Mvc, Version=3.0.0.0程序集。 调用程序集是AttributeRouting.Web.Mvc,这是我使用的NuGet包。

我理解它的方式,我的项目引用System.Web.Mvc版本4.0.0.0,而我使用的软件包依赖于3.0.0.0。

  1. 如果Visual Studio / IIS Express可以完美地运行它,那么发布的版本怎么会出现这个问题呢?

  2. 我今天只看了很多,但仍然无法弄清楚。 这是Binding Redirect用于什么?

  3. 我很善良,迷失在这里,感觉我没有任何方向。 欢迎任何建议。

    提前致谢, 害羞。

1 个答案:

答案 0 :(得分:1)

<强>解决:
除了版本2和4之外,我简单地(好吧它不是那么简单)安装了MVC3 问题消失,无需任何进一步的改变。

解决方案: 从Microsoft's website下载并安装MVC3 如果安装失败:

  1. 解压缩安装文件。
  2. 在编辑器中打开ParameterInfo.Xml。
  3. 完全删除引用vs10-kb2483190的<Exe>标记 文件。
  4. 再次运行安装程序。
  5. 非常感谢你的帮助@Augusto。

    希望有一天能帮到某人:)