【C#】PowerShellが64bitプロセスで動作していない場合について

C#からPowerShellを実行した時に32bitプロセスで動作するPowerShellで実行されていたのですが
原因については初歩的なことでした…

原因

VisualStudioなどでプロジェクトのプロパティを確認した所、
「32ビットを優先」にチェックが入っていました。
このチェックを外すことで64bitプロセスで動作するPowerShellで実行することができました。

検証

実行中のプロセスが32bitか64bitかを判別するには下記のコマンドを使用します。

[System.Environment]::Is64BitProcess

検証結果

64bit環境において各設定値での実行プロセスのパターンを下記にまとめました。

32ビットで優先 プラットフォーム
ターゲット
実行プロセス
Any CPU 32bit
Any CPU 64bit
x86 32bit
x64 64bit

余談

どうでも良いですが、32bitプロセスで動作している時にフルパス指定で64bitプロセスで動作するPowerShellを実行しても
32bitプロセスで動作するPowerShellが実行されるんですね…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です