2013-05-04 152 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)。

相關問題