为什么没有Microsoft.Win64命名空间?

我们有一个Microsoft.Win32命名空间,但它是保证在64位Windows环境中工作? 对于64位的情况,是否需要有相同的定义?

Solutions Collecting From Web of "为什么没有Microsoft.Win64命名空间?"

默认情况下.NET应用程序运行在以OS架构为目标的框架上。 所以,如果你运行的是32位Windows,那么安装在机器上的.NET框架将是32位的框架。 运行在此框架上的所有.NET应用程序都将以“32位”运行。

如果你正在运行64位Windows,那么你正在运行一个64位的框架,但是在框架之上运行的IL与32位IL没有什么不同(默认情况下)。

简而言之,如果你运行的是32位或者64位的Windows,这并不重要,因为.NET框架从C#/ VB代码中抽象出来。

Microsoft.Win32框架是指Windows内部的本地API。 除了微软给出的真正糟糕的名字之外,它与32位和64位Windows无关。

顺便说一句,有些东西你不能用64位版本的框架来完成:例如,64位框架中没有JET数据库驱动程序。

“Win32”是平台的名称(即核心API集合),而不管操作系统的实际位数。 换句话说,不要担心:)

出于同样的原因,我们在64位Windows的system32文件夹中存储了64位二进制文​​件。

基本上,这是因为Microsoft.Win32中的东西不是特定于32位Windows的。 他们为什么要伤害便携性没有任何好处?