c# - 通过不同环境的代码检查 32 位?

标签 c# .net .net-4.0 32bit-64bit

我知道 IntPtr.Size 可以检查 64 位或 32 位。 (8 || 4 字节)

问题:

是关于

IntPtr.Size
  • 操作系统平台

  • .net 编译版本(我可以编译到 32 或 64)

你能检查并更正这张表吗?

compiled to | running OS | IntPtr.Size
______________________________________
      64             32       wont run
      64             64         8
      32             32         4
      32             64         4

最佳答案

我会这样写表格:

     target  |     OS     | IntPtr.Size
______________________________________
      x64          32       wont run
      x64          64         8
   AnyCPU          32         4
   AnyCPU          64         8
      x86          32         4
      x86          64         4

强烈暗示您始终希望以 AnyCPU 为目标,而不是 x64。如果您知道您需要使用仅在 32 位机器代码中可用的非托管代码(通常是 COM 服务器),则仅以 x86 为目标。

关于c# - 通过不同环境的代码检查 32 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161962/

相关文章:

c# - Entity Framework 和 DBContext 问题

c# - 如何查找包含 nunit 测试的 dll 文件

c# - 使用 WSFederationHttpBinding 的性能非常差

c# - 将字符串转换为借记卡格式

.net - 您可以/应该将 SQL Server Service Broker 与 .NET 应用程序一起使用吗?

.net-4.0 - 错误: "Inheritance security rules violated" while Sandboxing

c# - 尽管 64 位操作系统上有 AnyCPU,IntPtr.Size 始终为 4

.net - 在F#中实现AES加密(根据MSDN C#示例)

.net - Pex 重新生成和 PexA assumeNotNull

c# - 一次访问一个函数!