升级到.Net 4.5导致程序集失败?

Dav*_*ave 11 .net c# visual-studio-2012

我有一个针对.Net 4.0的项目,其中一个引用的程序集是.Net 4.5.

在我安装.Net 4.5之前,这工作正常,但是在安装之后,我得到了关于这些线路的目标.Net版本的五个警告:

*主要参考"xxxx.Library,Version = 1.0.0.1,Culture = neutral,processorArchitecture = MSIL"无法解析,因为它是针对".NETFramework,Version = v4.5"框架构建的.这是比当前目标框架".NETFramework,Version = v4.0"更高的版本

还有这个:

无法解析主要参考"Microsoft.TeamFoundation.Build.Workflow,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL",因为它对框架程序集"System.IO.Compression"具有间接依赖性,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089"无法在当前目标框架中解析." .NETFramework,版本= V4.0" .要解决此问题,请删除引用"Microsoft.TeamFoundation.Build.Workflow,Version = 10.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL"或将应用程序重新定位到包含"System.IO"的框架版本.Compression,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089".测试

为什么Visual Studio讨厌我?如果它可以在更新到4.5之前编译,目标框架没有改变,它仍然适用于VS2010的同事.Net 4为什么我被填充?

the*_*oop 13

错误消息解释了问题 - .NET 4应用程序无法引用.NET 4.5 dll.将您的应用程序更改为.NET 4.5,或将dll更改回.NET 4.

  • 我会改变你给出的答案,因为目前的答案并不是问题的答案. (3认同)
  • 除了可能不明显,因为问题表明程序集一直是4.5并且先前工作但是一旦安装了.NET 4.5,它就出于某种原因停止允许它. (2认同)
  • @thecoop这似乎与http://stackoverflow.com/a/12631425/881111相矛盾. (2认同)

Reg*_*dit 5

这是因为出于Microsoft最熟悉的原因,.NET Framework 4.5是一个就地更新,它取代了您的.NET Framework 4文件(而不是并行安装).如果你查看C:\ Windows\Microsoft.NET,你将找不到4.5文件夹 - 它取代了4.0文件夹中的文件.

所以之前编译的原因是dll是一个.Net 4.0 dll.现在它被4.5替换了.