14

我在 Visual Studio 2013 中创建了一个新项目,一个 WebApi 和 MVC 5 项目并更新了所有 nuget 包。它更新到 mvc 5.1。现在我无法成功构建它说的项目

assembly uses System.Web.Http 5.1.0.0 which has a higher version than referenced assembly System.Web.Http 5.0.0.0

有人遇到过这个吗?为什么在 Visual Studio 中经常出现这类问题?有谁知道如何解决这个问题,因为我真的很努力,但到目前为止还没有运气......

4

4 回答 4

18

解决了

Package Manager Console在 Visual Studio 中打开并运行命令

PM> Update-package

它神奇地为我解决了一切。您可以在下面找到包管理器控制台

  1. 工具
  2. Nuget 包管理器
  3. 包管理器控制台

此命令删除包文件夹下的所有旧包并在必要时更新所有内容,您也可以在特定包上运行该命令。这里命令的所有变体http://docs.nuget.org/docs/reference/package-manager-console-powershell-reference#Update-Package

让我知道你是否觉得这很有用我很想知道它是否只是偶然发生在我身上

于 2014-04-13T15:38:43.137 回答
2

发布了新版本的 ASP.NET。此处公告:http: //blogs.msdn.com/b/webdev/archive/2014/01/20/announcing-the-release-of-asp-net-mvc-5-1-asp-net-web-api -2-1-and-asp-net-web-pages-3-1.aspx

您的解决方案中可能有两个项目,其中项目 A 引用项目 B。两个项目都引用 ASP.NET,但版本不匹配。

于 2014-05-21T07:54:36.880 回答
1

在引用 System.Web.Http 时,我遇到了与您的问题非常相似的问题,并在此处记录了它:

无法加载程序集错误

当您更新 Nuget 包时,它会更新依赖包。但它不会更新您的解决方案中依赖于更新包的其他包。这些其他软件包甚至可能没有使用更新的软件包构建的更新版本。

因此,解决方案是像您一样更新您的所有包(这可能并不总是有效),或者将绑定重定向添加到您的程序集引用的最新版本到您的应用程序配置。

于 2014-11-13T13:43:42.410 回答
0

我是这样解决的。因为我目前有 fwk 4.0.0.0 并且不想安装 5.X:

  1. 我删除了引用的 DLL
  2. 我在 packages.config 中删除了几个 bindingRedirects,
  3. 然后我重建了那个解决方案,这给我带来了错误
  4. 然后我再次添加了参考

瞧,解决方案正在使用我拥有的 fwk 运行。

于 2018-05-18T00:59:24.693 回答