我可以在 .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 调用吗?的主要内容,如果未能解决你的问题,请参考以下文章

.Net 4.5 标准中的 SAML 2.0 协议支持

System.FormatException 从 4.7 运行 .NET Framework 2.0

我可以在面向 .Net 3.5 的项目中使用所有 C# 4.0 功能吗?

在 C# .NET 4.5 中使用 SAML 2.0

将 .NET 3.5 库与应用程序捆绑在一起,因此它可以在仅安装 .NET 2.0 的机器上运行?

.net 核心和 SAML 2.0