1、根据IntPtr.Size来判断,如果值为4则是32位,如果为8则是64位,所有.NET版本都支持。

if (IntPtr.Size == 4)
{
    // 32-bit
}
else if (IntPtr.Size == 8)
{
    // 64-bit
}
else
{
    //未来肯定有
}

2、如果.NET的版本是4.0或之后,则可以用Environment.Is64BitProcess来判断当前进程是否是64位的。

if(Environment.Is64BitProcess)
{
   //64-bit
}
else
{
   //估计很长一段时间内都是32-bit
}