Visual studio 发现相同程序集的不同版本之间存在冲突

Visual studio 发现相同程序集的不同版本之间存在冲突,visual-studio,Visual Studio,我确保我的解决方案和10个项目都编译为.NET 4.5.1,但我仍然收到以下警告: 考虑程序集“System.Net.Http.Formatting”的app.config重新映射, 区域性=中性,PublicKeyToken=31bf3856ad364e35“来自版本 “4.0.0.0”[C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll]到版本“5.0.0

我确保我的解决方案和10个项目都编译为.NET 4.5.1,但我仍然收到以下警告:

考虑程序集“System.Net.Http.Formatting”的app.config重新映射, 区域性=中性,PublicKeyToken=31bf3856ad364e35“来自版本 “4.0.0.0”[C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll]到版本“5.0.0.0” [C:\TLP\packages\Microsoft.AspNet.WebApi.Client.5.0.0\lib\net45\System.Net.Http.Formatting.dll] 解决冲突,消除警告

考虑程序集“System.Web.Http”的app.config重新映射, 区域性=中性,PublicKeyToken=31bf3856ad364e35“来自版本 “4.0.0.0”[C:\ProgramFiles(x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Web.Http.dll]到版本“5.0.0.0” [C:\TLP\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll] 解决冲突,消除警告

我的项目没有引用.NET 4.0 MVC程序集System.NET.Http.Formatting和System.Web.Http的任何位置

在我的Web API项目中,我引用的是nuget package文件夹中的程序集,而不是C:\Program Files\Microsoft ASP.NET\ASP.NET MVC4\Assembly中的程序集\


我怎样才能解决这个问题呢?

最后我也找到了解决方案:p

在电脑前

当您在Nuget数据包管理器(非控制台)的VS中搜索“autofac web api”时,您将获得autofac for web api 1.0集成。当您继续搜索结果的第3页时,您会发现autofac web api 2集成。这不公平。。。但我并不孤单:p看

评论:

至少有一个项目引用了这些程序集的较新版本。“C:\TLP”应该会响。@HansPassant我没听到铃声响。只有一个项目引用web内容。Windows计算机没有C:\TLP目录,请将它放在那里。只需重命名该目录并重建您的解决方案。您将找到使用它的项目。@HansPassant Look。。。我创建了一个空的WebAPI项目。然后我添加nuget包WebAPI 2及其所有依赖项,然后开始混乱。。。当我编译时,我得到了冲突警告等。。。所以这不可能是我的错。为什么我不能在C:\??@HansPassant上创建一个项目,当我创建一个包含所有包的Web API(不是空的,然后添加nuget Web API包)时,我没有任何问题。。。