Windows 操作系统中的 .NET Framework 支持(正文)

window

Windows 操作系统中的 .NET Framework 支持
Hans Verbeeck
Microsoft EMEA

2002 年 9 月

适用于:
   Microsoft .NET Framework
   Microsoft Windows 操作系统

摘要:本文提供了有关能够安装 Microsoft .NET Framework 的 Microsoft Windows 版本的信息,同时还列出了 .NET Framework 的软件要求以及常规平台支持的某些例外情况.此外,还解释了如何准备跨平台支持的应用程序。

目录
支持的平台
.NET Framework 软件要求
准备跨平台支持
附录

支持的平台
.NET Framework 可安装在表 1 所示的平台中。

表 1:可以安装 .NET Framework 的平台

支持除 Microsoft ASP.NET 以外的所有 .NET Framework 支持整个 .NET Framework
Windows 98 Windows 2000(所有版本 - 不需要 Service Pack)
Windows 98 SE Windows XP Professional
Windows ME   
Windows NT 4.0(所有版本 - 需要 Service Pack 6a)   
Windows XP Home Edition   

首先要注意的是,.NET Framework 无法在 Windows 95 上运行,这一点与其他不支持 Windows 95 的 Microsoft 产品(如 Microsoft Office XP)是一致的。

可以运行 .NET Framework 的操作系统可分为两组:一组可以运行 .NET Framework 和 ASP .NET,另一组只能运行 .NET Framework。此分组也可以用于区分可用作 .NET 应用程序服务器和只能用作运行 .NET 应用程序的客户端的操作系统。请注意,Windows NT 4.0 的所有版本(甚至是 Server 版),均应被视为 .NET 应用程序的客户端操作系统。

除 ASP .NET 以外,不同平台上的 .NET Framework 所支持的功能只有一些很小的差别。例如,Windows 98 和 Windows ME 没有事件记录系统,因此安装在这些系统上的 .NET Framework 不支持 System.Diagnostics 命名空间中的 Eventlog 及其相关对象。

在 XML 企业服务中也可以发现一些不同之处。Windows NT 4.0 支持安装 Microsoft Transaction Server (MTS),这一点与 Windows 2000 附带的 COM+ 1.0 或 Windows XP 附带的 COM+ 1.5 是不同的。.NET Framework 中的 XML 企业服务只能与 COM+ 1.0 或更高版本协同工作,因此 System.EnterpriseServices 命名空间所提供的功能在 Windows NT 4.0 中根本不可用,在 Windows 2000 中仅部分可用。

附录对这些区别进行了全面的介绍,而准备跨平台支持部分则解释了如何使应用程序处理这些区别。

.NET Framework 软件要求
Internet Explorer 5.01
.NET Framework 和基本公共语言运行库包含的某些元素依赖于由 Internet Explorer 的某个版本实现的技术。这些元素包括代码下载功能、加密技术和 Intranet/Internet 区域检测等。这些技术要求以及 Microsoft Internet Explorer 5.01 已实现广泛部署的事实决定了将该版本设置为安装和运行 .NET Framework 所需的最低版本。

表 2 说明在安装 .NET Framework 之前,必须在 Windows 98、Windows 98 SE 和 Windows NT 4 中安装 Internet Explorer 5.01。而 Windows ME、Windows 2000 或 Windows XP 操作系统已经包含了 Internet Explorer 5.01 或更高版本,因此不需要其他操作。

表 2:安装要求

要求 平台 安装操作 Internet Explorer 的默认版本
IE 5.01 Windows 98 另行安装 IE 4.01
IE 5.01 Windows 98 SE 另行安装 IE 5.00
IE 5.01 Windows NT4 另行安装 IE 4.01
IE 5.01 Windows ME 无需另行安装 IE 5.50
IE 5.01 Windows 2000 无需另行安装 IE 5.01
IE 5.01 Windows XP 无需另行安装 IE 6.00

单击此处可获得 Internet Explorer 6.0(英文)。

MDAC 2.6
Microsoft 数据访问组件 (MDAC) 一直是 Microsoft 用来发行实现通用数据访问范例技术的方法。MDAC 既可以单独下载和安装,也可随操作系统或其他软件(如 Microsoft SQL Server、Office XP)或其他在安装程序中包含该组件的应用程序一起安装。

为正常运行,System.Data 命名空间中的功能(即 Microsoft ADO.NET),要求系统中具有 MDAC 2.6 或更高版本。运行时检查的完整版本号是 MDAC 2.6.6526。

当在被视为是 .NET 应用程序有效服务器操作系统(任何 Windows 2000 版本或 Windows XP Professional)上安装 Framework 时,如果没有可用的 MDAC 2.7 或更高版本,安装程序将发出警告。您可以忽略该警告,因为它不会中断安装。图 1 显示了这样的警告。

图 1:安装程序警告

而在其他操作系统(Windows 98、Windows ME 和 Windows NT 4.0)上安装 .NET Framework 时,即使 MDAC 不可用也不会发出警告,尽管 MDAC 也是 ADO.NET 在这些系统中正常运行所必需的。

因此,这意味着在 Windows 2000 或 Windows XP Professional 上安装 .NET Framework 时,安装程序将检查与运行时需要的版本 (2.6.6526) 不同的版本 (2.7)。

要获得 MDAC,请转到 Universal Data Access(英文)Web 站点。

其他要求
在 Windows 2000 上安装 .NET Framework 时,如果没有安装 Internet Information Server 5 (IIS 5),则系统会发出警告信息;在 Windows XP Professional 上安装时,如果没有可用的 IIS 5.1,系统也会发出警告信息。由于其他操作系统不支持 ASP.NET,因此安装程序不检查是否有 IIS。

当编写使用 Windows 管理规范 (WMI) 事件和类的代码时,.NET 应用程序将使用 System.Management 命名空间。如果操作系统不支持 WMI,该命名空间中的功能将不起作用。

PlatformNotSupportedException
.NET Framework 的某些部分需要某些软件组件,但这并不阻止安装。如果运行时需要的组件不可用,.NET Framework 将引发一个 PlatformNotSupportedException 类型的异常,指示您的应用程序准备该类型的组件。更多内容将在下一节中予以介绍。

准备跨平台支持
从 .NET Framework 设计之初,跨越多平台的支持就一直是设计要求。因此,.NET Framework 提供的大量重要命题都源于它能够使开发者编写出可跨多个平台运行的应用程序。通常情况下,.NET Framework 类只受到一个因素的限制,即基础平台上应存在公共语言运行库。

通常,类似的概括性描述都存在例外情况,本文主要是使这些例外更加明确。因此在设计托管类时,应始终考虑所支持平台间的可移植性。要确保在 .NET Framework 支持的平台间具有可移植性,最好使用 .NET Framework 中已经提供的其他托管代码类来生成类。每当创建调用本地 API 的 .NET 类时,不支持正式支持的平台的风险会增加。

由于 .NET Framework 是一种新技术,因此新类可能具有调用 Win32 或其他本地 API 的合法需要,但要实现此调用,应对所做的平衡以及该决策对平台支持的影响有着深刻的认识。为此,需要考虑的重要问题有:

是否真的有必要调用此非托管 API(通过 P/Invoke)?
.NET Framework 中是否已有封装了该 API 的类?
如果该技术需要一些关于基础系统的数据,是否可以使用 System.Management 层而不是通过调用本地 API 获得?
如果确实需要调用 Win32 本机 API,是否可以调用跨平台支持的 API,而不是调用可能限制在底层平台上运行能力的“Ex”方法?
由于 .NET Framework 下的操作系统层随新版本的发行而不断地进化发展,.NET 类有可能需要依赖于并非在所有支持的操作系统中都可用的基础操作系统技术。这种情况下,类设计人员需要将跨所有平台支持该类的成本与目标客户在每个底层操作系统中实现该功能所获得的效益进行比较。如果可能的话,该类应在底层平台上提供等效的功能,或在这些平台上提供该功能的子集。在缺少底层操作系统的某些部分(例如 IIS),类就不能工作的情况下,不应在该平台上安装此类,或者类应检查基础依赖关系,并在此依赖关系不可用时,引发 PlatformNotSupportedException。

假设某个试图创建托管 Socket 对象的应用程序在未安装 Winsock 的操作系统上调用 Socket 构造函数。将引发以下异常。

“PlatformNotSupportedException: Socket cannot be created due to a missing required platform component, Winsock 1.1”(PlatformNotSupportedException:由于缺少所需的平台组件 Winsock 1.1,无法创建套接字)

当使用附录中提到的命名空间中的托管类时,最好添加用于处理 PlatformNotSupportedException 的代码。

考虑一个应用程序,在该应用程序中您想记录特定事件。如果该应用程序要求在 Windows 2000 或 Windows 98 上运行,就需要考虑在 Windows 2000 中将事件写入事件日志,在 Windows 98 中将事件写入文本文件。您可以检查附录来查看哪些操作系统支持 System.Diagnostics 命名空间中的 EventLog 对象。以下代码说明,在支持该对象时,如何写入事件日志;不支持该对象时,如何写入普通的文本文件。

Try
   Dim objEventlog As New EventLog("应用程序", ".", "MyApp")
   objEventlog.WriteEntry("应用程序已启动")
Catch ex As PlatformNotSupportedException
   ' 对于 Windows 98 或 Windows ME

   Dim sFile As String = "app.log"
   Dim sr As System.IO.StreamWriter

   If Not System.IO.File.Exists(sFile) Then
      sr = System.IO.File.CreateText(sFile)
   Else
      sr = System.IO.File.AppendText(sFile)
   End If

   sr.WriteLine("应用程序已启动")
   sr.Close()

Catch ex As Exception
   MessageBox.Show("无法执行某项操作")
End Try
进一步的说明
有关 .NET Framework 精简版(运行在智能设备上的版本)的详细信息,请访问 Visual Studio .NET(英文)Web 站点。

时间: 2024-09-12 23:42:27

Windows 操作系统中的 .NET Framework 支持(正文)的相关文章

Windows操作系统中的.NET Framework支持

window Windows 操作系统中的 .NET Framework 支持 Hans Verbeeck Microsoft EMEA 2002 年 9 月 适用于: Microsoft? .NET Framework Microsoft? Windows? 操作系统 摘要:本文提供了有关能够安装 Microsoft .NET Framework 的 Microsoft Windows 版本的信息,同时还列出了 .NET Framework 的软件要求以及常规平台支持的某些例外情况.此外,还解

Windows 操作系统中的 .NET Framework 支持(附录)

window 附录所支持平台的例外情况 命名空间 项 XPPro XPHome 2000 NT4 98ME System.Web   Y N Y N N System.Web.Caching   Y N Y N N System.Web.Configuration   Y N Y N N System.Web.Security   Y N Y N N System.Web.UI   Y N Y N N System.Web.UI.Design   Y N Y N N System.Web.UI.

Windows操作系统中的.NET Framework支持(附录)

window 附录 所支持平台的例外情况 命名空间 项 XPPro XPHome 2000 NT4 98ME System.Web Y N Y N N System.Web.Caching Y N Y N N System.Web.Configuration Y N Y N N System.Web.Security Y N Y N N System.Web.UI Y N Y N N System.Web.UI.Design Y N Y N N System.Web.UI.Design.WebC

如何在 Windows 操作系统中运行 Docker 客户端

大家好,今天我们来了解一下 Windows 操作系统中的 Docker 以及在其中安装 Docker Windows 客户端的知识.Docker 引擎使用 Linux 特有的内核特性,因此不能通过 Windows 内核运行,所以,(在 Windows 上)Docker 引擎创建了一个小的虚拟系统运行 Linux 并利用它的资源和内核.这样,Windows Docker 客户端就可以用这个虚拟的 Docker 引擎来构建.运行以及管理 Docker 容器.有个叫 Boot2Docker 的团队开发

黑客利用此前Windows操作系统中的未知漏洞传播Duqu病毒

摘要: 北京时间11月2日上午消息,微软周二发布公告称,黑客利用了此前Windows操作系统中的未知漏洞传播Duqu病毒.一些安全专家称这可能导致新一轮大规模黑客攻击. 微软称,公司正在努力 北京时间11月2日上午消息,微软周二发布公告称,黑客利用了此前Windows操作系统中的未知漏洞传播Duqu病毒.一些安全专家称这可能导致新一轮大规模黑客攻击. 微软称,公司正在努力解决这一问题,并将向用户发布安全升级. 安全软件生产商赛门铁克(Symantec)曾于10月称,发现一种神秘的计算机病毒,该病

《Metasploit渗透测试手册》—第1章1.2节在Windows操作系统中配置Metasploit

1.2 在Windows操作系统中配置MetasploitMetasploit渗透测试手册在Windows系统中安装Metasploit框架非常的简单,安装程序可以从Metasploit官方网站(http://www.metasploit.com/download)上下载. 准备从官方网站上可以看到,有两种类型的安装程序可以下载,建议下载完全版的安装程序,其中包含了控制台和所有其他相关的依赖库,以及数据库和运行时环境.如果已经有配置好的供Metasploit框架使用的数据库,也可以下载迷你版的安

Windows操作系统中常见的死机情况

在电脑使用过程中,我们经常会遇到死机的情况,而死机伴随者电脑操作系统,从一开始的Windows图形化操作系统开始,就一直有这样的情况,一直到Windows 7乃至泄漏版本的Windows 8一直存在. 为什么一直解决不了?那要从Windows的工作方式说起.为什么要强调Windows操作系统呢,因为除了Windows操作系统,还有另外的几大操作系统,最有名的有UNIX.UNIX的操作界面侧重于命令行界面,这样会减少许多资源.而Windows操作系统制作的初衷,是为了大众化,所以在图形化界面上下了

windows操作系统中的系统属性

使用System.getProperties(java.os.name) 参数还可以是os.arch.os.version 下面给些更多的: 将 getProperty(String) 方法使用的当前系统属性集合作为 Properties 对象返回.如果没有当前系统属性集合,则先创建并初始化一个系统属性集合.这个系统属性集合总是包含以下键的值: 键相关值的描述 java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url

Windows操作系统中的公文包是什么

  普通用户哪懂得微软的情怀-人家好多年前就给搞了这么个同步工具- Windows公文包,从Windows 95开始引入,到Windows 8都可以使用,只不过Windows 8里默认隐藏了这个功能(其实Win8之所以把这个"砍掉",是因为现在Win8自己的复制粘贴功能已经自带了版本对比了,点详细信息就可以看到),可能是因为网络早已普及了吧(公文包其实就是体现出离线办公的优越性,把U盘和公文包同步了,你就可以很轻松地实现离线办公了;但是在国内,这个功能确实很鸡肋;别说有没有需要离线办公