附录和背景
NET Framework SDK 文档和文章更详细地描述了并行问题,以及如何配置您的应用程序以便为特定应用程序模型(例如,.EXE 应用程序、Web 应用程序或托管 COM 组件)运行特定版本的 .NET Framework。
MSDN 文档
并行 Framework 和功能的相关背景
存在多个版本的 .NET Framework(v1.0、v1.1、v2.0)。多个 .NET Framework 版本可以“并行”安装在同一台计算机上,同样,用户可以安装诸如 Office 这样的应用程序的多个版本(例如,在同一台计算机上安装 OfficeXP 和 Office2003)。在 Windows XP 和 Windows Server 2003 上,多个 .NET Framework 版本可以在不同的进程中并行运行。换句话说,一个进程可以在 .NET Framework 2.0 上运行应用程序,同时其他进程也可以在 .NET Framework 1.1 上运行应用程序。
.NET Framework 1.0、1.1 和 2.0 上应用程序的并行运行库行为
托管应用程序:在 .NET Framework 1.0、1.1 或 2.0 上启动应用程序时,CLR (mscoree) 会查看该应用程序中记录的 .NET Framework 版本,并尝试在编译该应用程序的 .NET Framework 版本上运行该应用程序。如果尚未在计算机上安装该版本,则 CLR 将尝试在最新的 .NET Framework 和 CLR 上启动该应用程序。例如,如果为 .NET Framework 2.0 编译的应用程序在仅安装有 .NET Framework 1.1 的计算机上运行,那么该应用程序将向前兼容以便在 .NET Framework 1.1 上运行。同样,如果为 .NET Framework 1.1 编译的应用程序在仅安装有 .NET Framework 2.0 的计算机上运行,那么该应用程序将向后兼容以便在 .NET Framework 2.0 上运行。
本机应用程序的托管组件:本机应用程序的托管组件是在本机 exe 启动的进程中,直接通过宿主 API 或 COM interop 加载的托管代码。以这种方式加载托管代码时有两个主要方案:
| • | 方案 1:托管代码是本机第三方应用程序的外接程序 |
| • | 方案 2:托管代码是本机应用程序的一部分 |