如果我的解决方案是x86或x64,我如何在代码中检测到?

时间:2013-10-15 18:57:33

标签: c# visual-studio-2012 32bit-64bit

我正在与Access数据库连接,因此必须使用两个连接字符串(Jet或Ace)中的任何一个,具体取决于我的平台选择(即x86或x64)。我正在使用的代码可以使用任一平台进行编译,因此我需要一种方法来检测平台“bitness”。我被告知我可以使用IntPtr,但我不确定如何。

感谢。

编辑:

只想说,这不是重复的!在建议的链接中,OP要求操作系统的位数,而不是进程的位数。他们在谈论.NET 2.0。我在三年内没见过2.0。

3 个答案:

答案 0 :(得分:3)

您可以使用Environment.Is64BitProcess来确定当前进程是64位还是32位进程。

答案 1 :(得分:2)

System.Environment.Is64BitProcess属性为您提供该信息。

答案 2 :(得分:1)

检查这个问题的答案:

.NET 2.0 Framework in C# check if 64bit os if so do this? if not do this? better answer?

它基本上检查IntPtr.Size是否返回4或8字节数。