我在构建项目时收到此警告:
警告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所以问题是,这个警告真的可以表明什么?
答案 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评论。