日期:2013-08-19  浏览次数:20639 次

简介

Microsoft .NET Framework 2.0 是在 Microsoft .NET Framework 1.0 和 1.1 成功的基础上构建的,用于为 Web 和 Microsoft Windows 客户端应用程序提供最佳的运行库环境。对于 .NET Framework 1.1 应用程序,Microsoft 的兼容性目标是:这些应用程序能够在 .NET Framework 2.0 上顺利运行(除一组记录在案的更改之外)。在 Beta 2 发布期间,我们还没有达到这个目标,并且正在寻找有关这些应用程序问题的反馈,以便在 .NET Framework 2.0 发布之前解决这些问题。本文将探讨应用程序的兼容性方案,并为各个阶段提供最佳做法建议。

返回页首返回页首

执行摘要

这里提供已知破坏性更改的完整列表。该列表适用于 Beta 2,并将进一步更新以用于 RTM。如果您遇到该列表以外的更改,请发送邮件至 netfxcmp@microsoft.com。

Microsoft 建议您在 Beta 2 期间针对 .NET Framework 2.0 测试您的 .NET Framework 1.1 应用程序。兼容性测试方案提供该操作的指导。

即使在计算机上安装了 .NET Framework 2.0,使用 .NET Framework 1.1 构建的单机版 Microsoft Windows 客户端或 Web 应用程序也将自动在 1.1 框架上运行。

本机应用程序的托管外接程序(例如,Microsoft Office 或 Internet Explorer)将自动在计算机安装的最新版本的 .NET Framework 上运行。在部署该版本的 Framework 之前,开发人员和 IT 经理应该针对 .NET Framework 2.0 测试这些外接程序。

现在,我们仍然在寻找更多的应用程序来进行测试。如果您有兴趣提供您的 .NET Framework 1.1 应用程序,请发送邮件至 netfxcmp@microsoft.com。

返回页首返回页首

破坏性更改的定义

破坏性更改是那些在 .NET Framework(运行库破坏性更改)或 Visual Studio(design/compile/project 升级)中使某些应用程序或开发方案行为异常的更改。这些更改不一定是那些我们已发现的破坏应用程序的更改;更准确地说,这些更改是在设计检查和测试过程中发现的行为更改,它们有可能影响应用程序。实际上,在我们所有的应用程序兼容性测试中,发现的影响应用程序的更改不到十个。

运行库更改可以分为两类:第一类(也是最少见的)是 API 破坏性更改,包括更改函数签名或删除函数。几乎在所有情况下,这些更改都是出于安全考虑。在整个 .NET Framework 2.0 中,此类更改不到 5 个。

第二类(较常见的破坏性更改类型)是行为破坏性更改,包括更改方法的行为。此类更改的示例包括:更改由于特定错误而引发的异常,以及更改浮点操作的精度。

.NET Framework 2.0 中所有已知的破坏性更改都经过了仔细检查,并且记录在此处以用于 Beta 2。进行破坏性更改的原因有许多,包括符合标准、客户反馈以及正确性问题。我们已经尽量详细地记录这些更改,但我们相信其中的很多更改仍会影响到少量用户。每种类型的运行库更改的示例都遵循以下原则:

符合标准:Kyrgyzstan 的 System.Globalization 中的 ISO 标记从 KZ 更新为 KY。

符合标准:ASP.NET 中呈现的 HTML 更新为符合标准的 XHTML 1.0 Transitional。

客户反馈:更改了 ASP.NET 项目模型以响应客户反馈。

正确性:已经在某些情况下增加了浮点精度。这已经作为一种可能性记录在 CLI 规范中。

正如所有的测试版产品一样,我们正在寻求更多的反馈。如果您遇到有关 Beta 2 产品的问题,请通过 MSDNProductFeedbackCenter 向我们报告。有关部署和兼容性的问题,请发送邮件至 netfxcmp@microsoft.com。我们将根据收到的反馈来更新 .NET Framework 2.0 版本的破坏性更改列表。

返回页首返回页首

应用程序加载机制和可能的问题

默认情况下,使用 .NET Framework 构建的应用程序将使用构建时所用的 Framework 版本(如果已在计算机上安装该版本)运行。下表指定了目标计算机上不同 .NET Framework 配置下的应用程序的加载行为。

应用程序类型安装 1.1 的计算机安装 2.0 的计算机同时安装 1.1 和 2.0 的计算机

1.1 独立应用程序(Web 或 Microsoft Windows 客户端)

使用 1.1 加载

使用 2.0 加载

使用 1.1 加载

2.0 独立应用程序(Web 或 Microsoft Windows 客户端)

失败

使用 2.0 加载

使用 2.0 加载

本机应用程序的1.1 外接程序(例如 Office 或 Internet Explorer)

使用 1.1 加载

使用 2.0 加载

如果没有将进程配置为在 1.1 中运行,则使用 2.0 加载

本机应用程序的 2.0 外接程序(例如 Office 或 Internet Explorer)

失败

使用 2.0 加载

使用 2.0 加载

在通过 .NET Framework 2.0 加载使用 .NET Framework 1.1 构建的应用程序代码并遇到破坏性更改的情况下,该应用程序可能失败。在上面的表中,粗体单元格表示可能出现这些情况的地方。以下部分提供有关如何在这些情况下减少潜在问题的信息。

返回页首返回页首

在 .NET Framework 2.0 中测试使用 .NET Framework 1.1 开发的应用程序

由于应用程序将使用构建时所用的 Framework 版本运行,因此有两种能够使用 .NET Framework 2.0 运行应用程序的方法:

在只安装有 .NET Framework 2.0 Beta 2 的计算机上安装和测试。

在已安装有 .NET Framework 1.1 的计算机上安装测试版。使用 gotdotnet.com 上概述的步骤强制应用程序使用 .NET Framework 2.0 运行。

返回页首