相关疑难解决方法(0)

如何使用.NET检测Windows 64位平台?

.NET 2.0 C#应用程序中,我使用以下代码来检测操作系统平台:

string os_platform = System.Environment.OSVersion.Platform.ToString();
Run Code Online (Sandbox Code Playgroud)

这将返回"Win32NT".问题是,即使在Windows Vista 64位上运行,它也会返回"Win32NT".

有没有其他方法可以知道正确的平台(32或64位)?

请注意,在Windows 64位上作为32位应用程序运行时,它还应检测64位.

c# windows 64-bit .net-2.0 platform-detection

258
推荐指数
14
解决办法
19万
查看次数

如何判断我的应用程序是作为32位还是64位应用程序运行?

如何判断我的应用程序(在Visual Studio 2008中作为任何CPU编译)是作为32位还是64位应用程序运行?

c# 64-bit 32-bit

64
推荐指数
4
解决办法
2万
查看次数

如何在运行时知道我是否在c#中使用x86或x64模式

可能重复:
如何判断我的应用程序是作为32位还是64位应用程序运行?

你好

我在c#(Framework 3.5 SP1)中有一个应用程序,我需要在运行时加载一个非托管程序集,但有两个不同的版本,一个用于x86,另一个用于x64,所以我需要在运行时知道哪个模式是应用运行

我已经看过这个POST但是它适用于C++,在C#中有更简单的方法吗?或者我怎样才能在C#中做到这一点?

谢谢

.net c# 64-bit x86

16
推荐指数
3
解决办法
2万
查看次数

如何使用#if来决定在C#中编译哪个平台

在C++中有预定义的宏:

#if defined(_M_X64) || defined(__amd64__)
    // Building for 64bit target
    const unsigned long MaxGulpSize = 1048576 * 128;// megabyte = 1048576;
    const unsigned long MaxRecsCopy = 1048576 * 16;
#else
    const unsigned long MaxGulpSize = 1048576 * 8;// megabyte = 1048576;
    const unsigned long MaxRecsCopy = 1048576;
#endif
Run Code Online (Sandbox Code Playgroud)

这允许我设置常量来控制将使用的内存量.

当然我可以逐字定义预处理器变量:

#define Is64bit 1

using System;
using System.Collections.Generic;
Run Code Online (Sandbox Code Playgroud)

-后来-

#if Is64bit
    // Building for 64bit target
    const long MaxGulpSize = 1048576 * 128;// megabyte = 1048576;
    const long MaxRecsCopy = 1048576 …
Run Code Online (Sandbox Code Playgroud)

c# 32bit-64bit preprocessor-directive

7
推荐指数
1
解决办法
4948
查看次数

如何判断另一个进程是否为64位?

我有一个正在运行的应用程序的进程.

我如何判断(最好没有p /调用)该进程是否为64位?

c# 64-bit process

6
推荐指数
1
解决办法
3461
查看次数

如何确定System.Diagnostics.Process是32位还是64位?

我试过了:

process.MainModule.FileName.Contains("x86")
Run Code Online (Sandbox Code Playgroud)

但它引发了x64进程的异常:

Win32Exception:只有部分ReadProcessMemory ou WriteProcessMemory请求完成

.net windows 64-bit system.diagnostics process

5
推荐指数
1
解决办法
2326
查看次数

运行时C#知道是否正在使用32位或64位版本的COM接口

我想构建一个DLL类库使用COM Interop,使用C#,目标ANY CPU,并将其注册为32位和64位接口.

我希望能够在运行时显示使用的接口 - 如果我使用的是32位版本或64位版本.

有任何想法吗?

c# 64-bit x86 interop regsvr32

3
推荐指数
1
解决办法
3934
查看次数

以编程方式找出进程位数

无论如何,我可以找出我的.NET进程是以32位进程还是64位进程运行?

.net

1
推荐指数
1
解决办法
201
查看次数