.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 +目录)时发生这种情况,但我怀疑问题可能会更广泛。