我可以在 .NET 2.0 上使用 .NET 4.0 API 调用吗?
Posted
技术标签:
【中文标题】我可以在 .NET 2.0 上使用 .NET 4.0 API 调用吗?【英文标题】:Can I use .NET 4.0 API calls on .NET 2.0? 【发布时间】:2012-09-14 19:40:15 【问题描述】:如果我进行 .NET 4.0 API 调用,而客户只安装了 .NET 2.0,我的 EXE 可以工作吗?我认为没有——绝对没有。但我想再次确认并向我的客户指出是/否。
背景...我来自 Linux/php 世界。我的客户端在前端使用 Windows C# 应用程序,在后端使用 Linux/PHP。他让我调查这个问题。
【问题讨论】:
据我所见,它在启动时出现错误消息..... 您指的是哪种“API 调用”? Scott - 诸如读/写注册表,显示诸如进度条、选项卡、对话框等 GUI 元素。 (虽然可以从 CLR2 运行时访问 .NET3.5 API,因为它是相同的,但 .NET4 使用了一个新的运行时,它与早期的 CLR “分隔”。但如果只是.NET2 已安装,甚至没有可供调用的 .NET4 API,除了其他问题。) 【参考方案1】:当您尝试运行使用 .NET 4.0 编写和编译的任何内容时,.NET 2.0 运行时会出错,反之则不然。
【讨论】:
谢谢,这就是我的假设。我会与客户分享。我将等待两天,然后选择最佳答案。这似乎是最好的答案。【参考方案2】:针对 .NET 4.0 框架的应用程序代码不会在仅安装了 .NET 2.0 框架的环境中运行。
请参阅此处的“版本兼容性”部分: http://msdn.microsoft.com/en-us/library/8477k21c.aspx
【讨论】:
【参考方案3】:您可以做的是让您的 .NET 2 代码通过 Web 服务访问 .NET 4 库。如果您要通过 Web 服务公开 .NET 4 API,它将与 .NET 版本以及它们之间的技术无关。
【讨论】:
以上是关于我可以在 .NET 2.0 上使用 .NET 4.0 API 调用吗?的主要内容,如果未能解决你的问题,请参考以下文章
System.FormatException 从 4.7 运行 .NET Framework 2.0
我可以在面向 .Net 3.5 的项目中使用所有 C# 4.0 功能吗?