应用程序加载机制和可能的问题
默认情况下,使用 .NET Framework 构建的应用程序将使用构建时所用的 Framework 版本(如果已在计算机上安装该版本)运行。下表指定了目标计算机上不同 .NET Framework 配置下的应用程序的加载行为。 在通过 .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 运行。
减少可能的兼容性问题的策略
通过遵循如下所述的其中一个策略,开发人员可以减少应用程序受 .NET Framework 更改影响的可能性。兼容性测试方案中提供有关测试的更多信息。 在发布 .NET Framework 2.0 的最终版本之前,我们将检查兼容性状态,并考虑在破坏性更改影响应用程序时还原这些更改。在进行兼容性测试时,如果您发现应用程序需要进行一些更改才能在新版本上正确运行,请在 MSDNProductFeedbackCenter 上记录错误。 1.
测试和修复
始终进行;推荐 使用由 .NET Framework 1.1 构建的应用程序的一种可能方法是:使用 .NET Framework 2.0 测试该应用程序,进行一些必要的更改,并确保该应用程序在 Framework 的两个版本上都能运行。 开发和测试含义这将要求小组测试 Framework 的两个版本,从而扩展应用程序的测试矩阵。它可能还要求开发人员对源代码进行一些修改,以确保应用程序在 .NET Framework 1.1 和 .NET Framework 2.0 上都能运行。 市场和运营含义应用程序所有者需要与客户和用户沟通该问题,并为他们提供兼容 Framework 这两个版本的应用程序更新版本。
2.
使用 .NET Framework 1.1 部署
用于独立的托管应用程序 默认情况下,使用 .NET Framework 构建的托管应用程序将使用构建时所用的版本运行。如果已在目标机器上安装了 .NET Framework 1.1,则不需要更改任何应用程序。要启用该方案,应用程序所有者应该继续连同其应用程序一起发布 .NET Framework 1.1,或确保所有目标机器上都安装有 .NET Framework 1.1。 如果 .NET Framework 应用程序寄宿在本地主机中(例如 Microsoft Office 或 Microsoft Internet Explorer),则该应用程序将使用计算机上安装的最新 .NET Framework 版本。这可能意味着,构建在 .NET Framework 1.1 上的应用程序可能被强制使用 .NET Framework 2.0 运行。如果您编写宿主托管代码的本机应用程序(无论是通过直接宿主还是通过 COM Interop),则可以配置本机 exe 并选择构建托管代码时所用的运行库版本;否则,您的组件需要在计算机上安装的最新版本上运行。有关更多详细信息,请参阅以下并行文档。 开发和测试含义从开发和测试的角度来看,这需要确保在所有机器上安装 .NET Framework 1.1。如果是寄宿组件(加载托管组件的应用程序),您可能需要修改该应用程序的配置文件,以确保即使在该计算机上安装了 .NET Framework 2.0,宿主进程也会加载 .NET Framework 1.1。 市场和运营含义从市场和运营的角度来看,这涉及传达让用户安装 .NET Framework 1.1 的需要。如果是本地主机,当用户在其系统上安装 .NET Framework 2.0 时,它可能还需要让客户和用户安装新版本(或更新应用程序配置文件)。
3.
升级到 2.0:
适用于所有应用程序,但需要安装 .NET Framework 2.0 希望利用 .NET Framework 2.0 中新功能的开发人员应该升级应用程序以使其适合 .NET Framework 2.0。这包括重新编译代码、测试应用程序,以及进行一些必要的更改。 在 Beta 2 中,ASP.NET 开发人员需要了解在项目系统和编译模型中所作的更改,这些更改可能会影响其应用程序升级到 2.0 的方式。基于用户反馈,我们已经实现了对 ASP.NET 项目升级系统的补充,这意味着大多数应用程序只需要进行最少的更改。 开发和测试含义这需要更新应用程序以使其适应所有破坏性更改、在 .NET Framework 2.0 中测试应用程序,以及修改应用程序以利用所有 .NET Framework 2.0 功能。开发人员需要更新应用程序安装程序以发布 .NET Framework 2.0。(请注意:在 Beta 2“保持激活”期间,ISV 可能不会重新发布 .NET Framework 2.0。) 市场和运营含义应用程序所有者需要与客户沟通,并且用户需要安装 .NET Framework 2.0 以及更新的应用程序 BITS。
默认情况下,使用 .NET Framework 构建的应用程序将使用构建时所用的 Framework 版本(如果已在计算机上安装该版本)运行。下表指定了目标计算机上不同 .NET Framework 配置下的应用程序的加载行为。 在通过 .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 运行。
减少可能的兼容性问题的策略
通过遵循如下所述的其中一个策略,开发人员可以减少应用程序受 .NET Framework 更改影响的可能性。兼容性测试方案中提供有关测试的更多信息。 在发布 .NET Framework 2.0 的最终版本之前,我们将检查兼容性状态,并考虑在破坏性更改影响应用程序时还原这些更改。在进行兼容性测试时,如果您发现应用程序需要进行一些更改才能在新版本上正确运行,请在 MSDNProductFeedbackCenter 上记录错误。 1.
测试和修复
始终进行;推荐 使用由 .NET Framework 1.1 构建的应用程序的一种可能方法是:使用 .NET Framework 2.0 测试该应用程序,进行一些必要的更改,并确保该应用程序在 Framework 的两个版本上都能运行。 开发和测试含义这将要求小组测试 Framework 的两个版本,从而扩展应用程序的测试矩阵。它可能还要求开发人员对源代码进行一些修改,以确保应用程序在 .NET Framework 1.1 和 .NET Framework 2.0 上都能运行。 市场和运营含义应用程序所有者需要与客户和用户沟通该问题,并为他们提供兼容 Framework 这两个版本的应用程序更新版本。
2.
使用 .NET Framework 1.1 部署
用于独立的托管应用程序 默认情况下,使用 .NET Framework 构建的托管应用程序将使用构建时所用的版本运行。如果已在目标机器上安装了 .NET Framework 1.1,则不需要更改任何应用程序。要启用该方案,应用程序所有者应该继续连同其应用程序一起发布 .NET Framework 1.1,或确保所有目标机器上都安装有 .NET Framework 1.1。 如果 .NET Framework 应用程序寄宿在本地主机中(例如 Microsoft Office 或 Microsoft Internet Explorer),则该应用程序将使用计算机上安装的最新 .NET Framework 版本。这可能意味着,构建在 .NET Framework 1.1 上的应用程序可能被强制使用 .NET Framework 2.0 运行。如果您编写宿主托管代码的本机应用程序(无论是通过直接宿主还是通过 COM Interop),则可以配置本机 exe 并选择构建托管代码时所用的运行库版本;否则,您的组件需要在计算机上安装的最新版本上运行。有关更多详细信息,请参阅以下并行文档。 开发和测试含义从开发和测试的角度来看,这需要确保在所有机器上安装 .NET Framework 1.1。如果是寄宿组件(加载托管组件的应用程序),您可能需要修改该应用程序的配置文件,以确保即使在该计算机上安装了 .NET Framework 2.0,宿主进程也会加载 .NET Framework 1.1。 市场和运营含义从市场和运营的角度来看,这涉及传达让用户安装 .NET Framework 1.1 的需要。如果是本地主机,当用户在其系统上安装 .NET Framework 2.0 时,它可能还需要让客户和用户安装新版本(或更新应用程序配置文件)。
3.
升级到 2.0:
适用于所有应用程序,但需要安装 .NET Framework 2.0 希望利用 .NET Framework 2.0 中新功能的开发人员应该升级应用程序以使其适合 .NET Framework 2.0。这包括重新编译代码、测试应用程序,以及进行一些必要的更改。 在 Beta 2 中,ASP.NET 开发人员需要了解在项目系统和编译模型中所作的更改,这些更改可能会影响其应用程序升级到 2.0 的方式。基于用户反馈,我们已经实现了对 ASP.NET 项目升级系统的补充,这意味着大多数应用程序只需要进行最少的更改。 开发和测试含义这需要更新应用程序以使其适应所有破坏性更改、在 .NET Framework 2.0 中测试应用程序,以及修改应用程序以利用所有 .NET Framework 2.0 功能。开发人员需要更新应用程序安装程序以发布 .NET Framework 2.0。(请注意:在 Beta 2“保持激活”期间,ISV 可能不会重新发布 .NET Framework 2.0。) 市场和运营含义应用程序所有者需要与客户沟通,并且用户需要安装 .NET Framework 2.0 以及更新的应用程序 BITS。