从 .NET 框架问世的第一天起,就有最低限度的操作系统支持:
- .NET 1.0 - Windows NT 或更高版本(也支持 Windows 98/ME)
- .NET 2.0 - Windows 2000 或更高版本(也支持 Windows 98/ME)
- .NET 3.0 - Windows XP 或更高版本
- .NET 3.5 - Windows XP 或更高版本
这种最低限度的操作系统支持可以通过仅使用框架来忽略特定于平台的问题。较旧的平台上忽略了较新的功能。例如,ListView 控件中的“平铺视图”样式或 Windows 98/ME 上的窗体透明度。
但是,在 System.Core.dll(.NET 3.5 的一部分)中,有一些类使用新的 Vista API,如果在 XP 机器上使用,则会抛出 PlatformNotSupportedException。例如,看看新的 EventLogReader 类(在 System.Diagnostics.Eventing.Reader 命名空间中)。
微软是否打破了平台支持的传统?
公平地说,.NET 2.0 已经有支持 NTFS 安全特性的类,这些在 Windows 98/ME 上不可用。