.NET框架先决条件

4

大家好,我需要解释一下在安装目标机器上发布的应用程序时 .NET Framework 先决条件的问题。

由于 Java 具有向下兼容性,也就是说如果我安装了 Java v1.6 并且应用程序是使用 Java v1.5 开发的(我指的是只使用 1.5 中可用的类和包来构建应用程序),那么我相信这个应用程序肯定会在安装最新或更高版本的 JRE 或 J2SE 后运行。

同样,在 .NET 平台的情况下,假设我使用 .NET Framework 3.5 来开发我的应用程序,在目标计算机上安装了 .NET Framework 4.0(最新版本),即使如此,它仍提示要安装 .NET Framework 3.5,为什么会这样呢?

一个真实的例子是我已经下载并尝试安装了 MySQL Workbench,并安装了 .NET Framework 4.0,但在运行 MySQL 安装之前,它仍然要求安装 .NET Framework 3.5。

我的问题是 .NET Framework 是否具有像 Java 或 .NET 一样的向下兼容性?

2个回答

3

.NET Framework的版本兼容性:

.NET Framework 4与使用.NET Framework版本1.1、2.0、3.0和3.5构建的应用程序具有向后兼容性。

换句话说,使用之前版本的.NET Framework构建的应用程序和组件将在.NET Framework 4上运行。

然而,在实践中,这种兼容性可能会因.NET Framework中微不足道的更改和编程技术的变化而被破坏。例如,.NET Framework 4中的性能提升可能会暴露先前版本上未发生的竞争条件。同样,使用硬编码路径到.NET Framework程序集,对特定版本的.NET Framework执行相等比较以及使用反射获取私有字段的值都不是向后兼容的做法。此外,每个.NET Framework版本都包括修复错误和安全相关更改,这可能会影响一些应用程序和组件的兼容性。

如果您的应用程序或组件在.NET Framework 4上无法正常工作,请使用以下检查清单。

针对.NET Framework 2.0、3.0和3.5应用程序:

检查.NET Framework 4迁移问题,确定是否有任何可能影响您的应用程序并进行所述解决方法。

如果您正在重新编译现有的源代码以在.NET Framework 4上运行,或者您正在从现有源代码基础上开发针对.NET Framework 4的新版本应用程序或组件,请检查.NET Framework中已弃用的类型和成员,并进行所述解决方法。(先前编译的代码将继续针对标记为“已弃用”的类型和成员运行。)

如果您确定.NET Framework 4中的更改破坏了您的应用程序,请检查运行时设置架构,以确定是否可以在应用程序配置文件中使用运行时设置来恢复先前的行为。

如果您遇到未记录的问题,请提交Microsoft Connect错误报告,并与netfxcf@microsoft.com联系,提供错误号码。


2
谢谢,但这是MSDN的解释。;) - Mitch Wheat

0

是的,.Net 4框架向后兼容以前版本的.Net构建的应用程序。您可以在MSDN上查看此链接以获取更多信息。

如果您已安装了.Net 3.5或.Net 4,并且第三方仍需要任一版本(或旧版本),则安装程序未检查正确的先决条件安装条件。


非常感谢。我明白安装程序是配置为询问旧版本的方式。 - kunaguvarun

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