【问题标题】:Installed nuget package depends on older version of System.Web.Mvc.dll after Publish发布后安装的 nuget 包依赖于旧版本的 System.Web.Mvc.dll
【发布时间】:2015-02-13 21:18:56
【问题描述】:

我有一个使用 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. 我今天才读了很多,但还是想不通。 这就是绑定重定向的用途吗?

我有点迷路了,感觉我真的没有任何方向。 欢迎任何建议。

提前致谢, 害羞。

【问题讨论】:

  • VIsual Studio 在构建解决方案后是否在错误列表中显示任何警告?我有 VS 13,当存在程序集版本冲突时,它会向我显示警告。双击警告修复问题(将必要的绑定重定向添加到配置文件)
  • 是的,收到警告并点击了它。不幸的是,它没有完成这项工作。
  • 你能检查一下吗:stackoverflow.com/a/16855426/1454888
  • 我的 没有 xmlns 属性。但是,当进入VS的Add Reference窗口时,我看到只安装了System.Web.Mvc 2.0.0.0和4.0.0.1。跟这个有关系吗?
  • 我不知道。这是一篇讨论它的帖子:stackoverflow.com/questions/26406877/…

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


【解决方案1】:

已解决:
除了版本 2 和 4 之外,我只是(嗯,这不是那么简单)安装了 MVC3。
无需任何进一步更改,问题就消失了。

解决方案: 从Microsoft's website下载并安装MVC3。
万一安装失败:

  1. 解压安装文件。
  2. 在编辑器中打开 ParameterInfo.Xml。
  3. 完全删除引用 vs10-kb2483190 的 <Exe> 标签 文件。
  4. 再次运行设置。

非常感谢@Augusto 的帮助。

希望有一天这对某人有所帮助:)

【讨论】:

    猜你喜欢
    • 2014-07-19
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    相关资源
    最近更新 更多