2012-03-05 127 views
0

我有c#web服务调用具有参数的外部可执行文件来使用运行空间运行Powershell。执行使用Powershell执行的C#可执行文件出错

我有64位机器,并配置IIS以运行64位可执行文件。

当调用Executable时,它找不到PowerShell命令,看来如果我在32位模式下运行,将找不到合适的64位PowerShell cmdlet。

我在寻找一些关于如何配置这个的帮助。

  1. 我已使用Visual Studio在64位模式下编译可执行文件。
  2. 我已经配置IIS在64位模式下运行
  3. 我有Windows 2008 R2

此cmdlet的是关于Office365用户创建

当我执行新MsolUse,它说你必须执行Connect-MsolUser我的PowerShell在New-MsolUser命令之前有适当的连接调用。

任何帮助?

+0

你是什么意思“我在32位模式下运行”?你说可执行文件编译为x64。托管PowerShell运行空间的EXE确定使用哪个PowerShell引擎(32位或64位)。你确定Office365 cmdlet是64位的吗?启动64位PowerShell提示并查看是否可以看到这些cmdlet。 – 2012-03-06 01:28:58

回答

0

在Project Properties> Compile> Advanced Compile Options页面中,尝试将Target CPU设置为'Any CPU'。看看这是否解决了这个问题。

+0

我试过任何CPU,并尝试用x64,似乎没有任何工作,我的可执行文件得到执行,但有错误。如果我在命令行上运行可执行文件,它工作得很好。 – 2012-03-05 19:19:21