現在、C# (.NET 4.5) コンソール プロジェクトにある VS 2012 で PowerShell ホストを構築しています。プロジェクトは任意の CPU 用に構成されており、[32 ビットを優先] はチェックされていません。追加して、System.Management.Automation への参照を手動で追加しました。
<Reference Include="System.Management.Automation" />
.csproj ファイル内の他の参照を含む ItemGroup に。レジストリからの読み取りで奇妙な動作 (キーの欠落など) が発生し、x86 部分を見ていることに気付きました。そこで、ホストで次のスクリプトを実行しました。
if ([System.IntPtr]::Size -eq 4)
{
"32-bit"
}
else
{
"64-bit"
}
そして戻ってきた
"32-bit"
これは、動作を考えると驚きではありませんでしたが、構成を考えると驚きでした。誰でもアイデアはありますか?ホストされた PowerShell について x86 でなければならないものはありますか?