截至目前,平台目标中有三个选项。x86、x64、任何 CPU。更糟糕的是,有一个名为“首选 32 位”的复选框。
\n\n当您开发应用程序时,您必须确保启用“Any CPU”并禁用“Prefer 32bit”以获得最大兼容性。
\n\n然而,有时您将使用本机调用来平台特定的 API(例如:您正在调用 32 位本机 dll)。然后启用 Any CPU 将在 64 位操作系统中将您的应用程序作为 64 位进程运行。这将在运行时引入异常。您应该针对 x86 平台。对于 64 位本机调用也是如此,您应该仅将其定位为 x64。
\n\n让我们看看为什么选择 32 位。Windows 有一个名为 ARM 的新目标类型(自推出Prefer 32 位以来,Windows 8 ARM 32 位)。当启用此选项并选择任何 CPU时。编译为 x86 的 .NET 应用程序将无法在 ARM Windows 系统上运行,但 \xe2\x80\x9cAny CPU 32 位首选\xe2\x80\x9d 应用程序将成功运行。
\n\n由于没有人使用 Windows 8 ARM,因此今后将禁用“首选 32 位”。Windows 10 ARM 已解决此问题。
\n| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |