我正在VS 2012中构建一个PowerShell主机,目前在C#(。NET 4.5)控制台项目中。该项目配置为任何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?
答案 0 :(得分:0)
在机会中,我尝试检查“首选32位”框,保存项目,然后取消选中并再次保存项目。在此之后,它构建为64位。有关信息,这是 Visual Studio 2012 Update 2(11.0.60315.01)。