目标是使用 .net 4.5,但部署到 .net 4.0 可以吗?

7
我必须遵守“所有软件必须落后于1个版本”的政策,我并不特别喜欢这样做,也无法改变。目前我们的生产机器只能运行到.NET 4.0,只有当.NET 5发布后,我们才能升级到4.5!很傻,我知道。
因此,我计划建议将开发机升级到Visual Studio 2012,并针对.NET 4.0进行开发,这暂时是可以的。
在即将来临的一些项目中,我们需要大量使用异步编程,并且我希望能够使用所有4.5的语法优势,如异步/等待和其他所有改进功能。
那么选项是什么?接受“这就是生活”,只针对4.0并抱怨!还是有一种方法可以针对4.5进行开发,并将一些4.5的dll导入到生产环境中,这是否可能?最终是否可能以任何方式利用4.5功能进行开发并部署到4.0?请给些建议...

1
有点偏题,但是:我知道你讨厌这个,但对于大型组织来说非常标准,而且说实话并不是那么糟糕的一个过程(在金融行业中已经多次拯救了我们的生意)。 - Michael A
@Michael 同意。大多数大型组织,特别是金融或教育行业,以及其他许多行业,都使用非常老旧的版本,并且不愿意升级,甚至更糟。 - lc.
+1 很好的问题,我从被采纳的答案中学到了新东西。恭喜你达到了500分。 - phoog
如果策略允许安装ServicePacks,那么我认为.Net 4和4.5是同一主要版本,其中4.5只是对4的100%向后兼容的补丁。http://blogs.msdn.com/b/dotnet/archive/2011/09/26/compatibility-of-net-framework-4-5.aspx - softveda
这在 .netCore 中就不成问题了,我们现在可以将任何版本与应用程序打包。 - Ricky Gummadi
显示剩余2条评论
2个回答

11

确保你的应用程序在 XP 上能够正常运行,如果它是支持 XP 的。 - Anand
2
虽然这理论上回答了问题,但我们希望您在回答中包含链接文章的关键部分,并提供参考链接。如果未能这样做,答案可能会因为链接失效而面临风险。 - Kev
1
@Kev:如果那个链接失效了,答案也就无用了。 - SLaks
更新: "所有者已取消列出此软件包。这可能意味着该软件包已被弃用或不应再使用。" - Yogi

7
请注意,不支持创建 .NET4.5 应用程序,然后尝试将其重新定位到 .NET4.0。基本上,当您使用 .NET4.5 构建应用程序时,您可能正在使用在 4.5 中添加的新 API,而这些 API 在 4.0 中不存在。因此,您的应用程序将无法正常工作。

1
每个人都知道这是不可能的。然后一个不知道的傻瓜出现了,他做到了。 - mbx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接