C# 查找多个System.Web.Mvc引用的原因

C# 查找多个System.Web.Mvc引用的原因,c#,asp.net-mvc,asp.net-mvc-5,nuget,projects-and-solutions,C#,Asp.net Mvc,Asp.net Mvc 5,Nuget,Projects And Solutions,使用dotPeek检查web项目主程序集的引用,我看到: System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 Visual Studio中的项目引用仅显示版本5.2.3.0。我还搜索了引用项目的.csproj文件 Mana

使用dotPeek检查web项目主程序集的引用,我看到:

System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Visual Studio中的项目引用仅显示版本5.2.3.0。我还搜索了引用项目的.csproj文件

Manage NuGet软件包仅显示Microsoft.AspNet.Mvc的v5.2.3

搜索
packages
文件夹只能在
Microsoft.AspNet.Mvc.5.2.3\lib\net45
下找到v5.2.30128.0

gacutil/l System.Web.Mvc
显示了3.0.0.0和4.0.0.0版本

我用dotPeek的引用层次结构查看了其他引用,但没有找到旧版本

根据回复,我检查了Web.config;这已经存在了:


我还检查了其他Web.configs的冲突版本

此外,我还尝试在System.Web.Mvc参考属性中将特定版本设置为True。这没什么区别


是否需要多个版本?如果没有,如何查找并删除旧版本的源?

尝试将其添加到web.config中



这基本上是测试您的应用程序,对于应用程序中引用的System.Web.MVC的任何版本(从1-5.2.3),都可以使用5.2.3.0。更有可能的是,您有一个仍在寻找5.0特定版本的参考。使用JSON.net时,这会让我非常恼火。

从引用中删除多个现有的
依赖项。在此之后,添加要保留在项目中的
引用


从属性窗口中,您可以看到当前
依赖项的版本。从中检查该版本,并在
web.config
文件中设置版本

在程序集绑定部分的web.config中是否有对它的引用?如果不是,你可能想补充一下。它很可能是一个二级依赖关系在拉它进来。它真的引起了问题吗?如果它被其他组件引用,您可以尝试更新所有其他组件。但是,如果它没有引起任何错误,我就忽略它。@Brian我们在加载时遇到了严重的延迟问题,不得不回滚此更新。我们正在调查所有可能的原因。请尝试删除项目的
输出(bin)
lib
文件夹,并重新引用相关的库。它解决了我一个类似的问题,因为同一个dll在输出文件夹中以不同的名称出现了两次。不确定这是否有助于+1获得一个好的建议;我检查了一下,发现已经出现了一个类似的重定向(只是从版本0开始)。嗯,这很有趣。也许可以尝试将System.Web.MVC参考标志“Use Specific Version”设置为true?我感觉到了你的痛苦。另一个需要检查的地方是项目视图文件夹中的web.config。正如我明确指出的,VisualStudio中的项目引用仅显示版本5.2.3.0。我还声明版本是在Web.config中设置的。