.net 4.5是否与.net 4.0并行工作?

我有兴趣安装.NET 4.5。

但是我听说这是一个就地升级。

由于我公司的用户使用Windows XP。 我无法发布任何使用.NET 4.5的客户端应用程序。

我知道我可以定位.net 4.0,当我编码,但是,如果我安装.net 4.5,在我的机器上运行的东西的风险将无法在Windows XP机器上(只有.net 4.0)?

(顺便说一下,我看了,但没有看到这个问题,如果有问题,请指出我,我会试着删除这个问题。)

是的,你所描述的种类有风险。 .NET 4.0接口是不变的,所以如果你的目标是.NET 4.0,你的程序将在.NET 4.0上编译和运行XP,但.NET 4.0的.NET 4.5实现也包含错误修正。 如果你依赖.NET Framework不是bug,并且唯一可用的.​​NET Framework for XP是bug,你的程序将会遇到这些bug。 我在Entity Framework中发生过这种情况,但是也可能会有其他错误修复。

我在WPF论坛上问了这个问题,并给出了@ hvd给出的同样的答案。

http://social.msdn.microsoft.com/Forums/en/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a

被接受的答案是非常相关的,但是让我来举个例子,一个在4.5+机器上编译的4.0目标比缺less固定bug的4.0更有用。

如果您的项目中有任何ComReference ,他们将在生成机器上从.NET 4.5调用tlbimp.exe 。 这可能会导致包含引用的包装器的软件,例如,仅存在于.NET 4.5中的System.Reflection.MethodInfo.CreateDelegate(System.Type)方法。 你将在WinXP机器上得到一个MissingMethodException

在使用ComAdmin命名空间(COM对象用于访问COM +目录)时发生这种情况,但我怀疑问题可能会更广泛。