2013-05-04 153 views
0

我在VS 2012中构建一个PowerShell主机,目前在C#(.NET 4.5)控制台项目中。该项目配置为任何CPU,并且“首选32位”未被选中。我已通过添加为什么我的PowerShell主机在64位机器上以32位运行?

<Reference Include="System.Management.Automation" /> 

与在.csproj的文件中的其他引用的ItemGroup手动添加到System.Management.Automation参考。我从注册表中读取奇怪的行为(缺少密钥等),我意识到它正在寻找x86部分。所以我跑这个脚本宿主:

if ([System.IntPtr]::Size -eq 4) 
{ 
    "32-bit" 
} 
else 
{ 
    "64-bit" 
} 

和回来

"32-bit" 

这是没有给行为的惊喜,但考虑到配置的惊喜。任何人有任何想法?托管的PowerShell必须是x86吗?

回答

0

为了避免这种可能性,我尝试检查'Prefer 32-bit'框,保存项目,然后取消选中并再次保存项目。在此之后,它构建为64位。有关信息,这是 Visual Studio 2012更新2(11.0.60315.01)。

相关问题