C# で COM Interop を使用する DLL クラス ライブラリを構築し、任意の CPU をターゲットにして、それを 32 ビットおよび 64 ビット インターフェイスとして登録したいと考えています。
32 ビット バージョンまたは 64 ビット バージョンを使用している場合、実行時にどのインターフェイスが使用されたかを表示できるようにしたいと考えています。
何か案は?
プロセスが 32 ビット DLL をロードするには、プロセスが 32 ビットである必要があります。64ビットでも同じです。したがって、すでに機能していると仮定して、ロードされたものを確認するには、CLR のビット数を確認する必要があります。
if (System.IntPtr.Size == 8)
{
// 64-bit
}
else
{
// 32-bit
}
PS。16 のサイズを確認する必要があるかどうかについては、この質問に対する私の回答を参照してください。