解决高于目标的.NET Framework版本的依赖性

时间:2014-05-10 01:27:22

标签: .net

我在构建项目时收到此警告:

  

警告1以下程序集依赖于某个版本   .NET Framework高于目标并且可能无法加载   在运行时导致失败时正确:MyProject,   Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null。该   依赖项是: System.Net.Http,Version = 4.0.0.0 ,Culture = neutral,   公钥= b03f5f7f11d50a3a; System.Net.Http,Version = 2.0.0.0 ,   Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a。你也应该   确保依赖程序集对目标是正确的   框架,或确保您要解决的目标框架   依赖集会的那个。 ASPNETCOMPILER 0 0 MyProject

起初我认为这意味着我应该将项目引用更新为System.Net.Http,以便它指向4.0版本 - 但是在检查时它已经指向4.0版本。

更重要的是,该项目的目标是框架版本4.5.1,所以我不知道它是如何成真的。 2.0和4.0都不高于4.5.1所以问题是,这个警告真的可以表明什么?

1 个答案:

答案 0 :(得分:8)

汉斯'关于使用ildasm的评论让我想起了Reflector。不幸的是,Redgate掌握了这一点,即使在早期版本中也停止了免费提供。

幸运的是有ILSpy

事实证明,对System.Net.Http,Version = 2.0.0.0的依赖是在System.Web.Http.WebHost,Version = 4.0.0.0

是的,它是框架中的缺陷。


已在4.5.2中修复请参阅下面的DFTR评论。