2

尝试在 C# 中使用 Azure cmdlet,一切正常,除了 Azure 的特定“Get-RoleInstanceCount”。Azure cmdlet promt 在启动时运行以下命令:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command "cd c:\; Import-Module 'C:\Users\me\Documents\WindowsPowerShell\Modules\WAPPSCmdlets\WAPPSCmdlets.dll'"

我尝试了以下方法:

InitialSessionState initialSessionState = InitialSessionState.CreateDefault();
initialSessionState.ImportPSModule(new string[] {"C:\\Users\\me\\Documents\\WindowsPowerShell\\Modules\\WAPPSCmdlets\\WAPPSCmdlets.dll"});
Runspace runspace = RunspaceFactory.CreateRunspace(initialSessionState);

也像他们在这里做的那样:

http://msdn.microsoft.com/en-us/library/windows/desktop/ee706596(v=vs.85).aspx

.dll 模块位于 Debug 文件夹和上述路径中。但是当我尝试“打开()”运行空间时,我得到以下异常:

无法加载文件或程序集“WAPPSCmdlets”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

我该怎么做才能加载使我能够运行 Azure 命令的模块?

4

1 回答 1

0

由于无法成功加载 cmdlet,我不确定“Get-RoleInstanceCount”以外的命令如何工作。您可以再次检查以确保它们工作正常吗?如果没有,请尝试重新安装 cmdlet。

此外,您可以直接使用 RESTful Windows Azure 管理 API,而无需 PowerShell。PowerShell 可以通过将 HTTP 请求封装到 cmdlet 中来提供简化的编程模型。但如果这不起作用,您始终可以选择直接使用 REST API。

于 2012-06-06T01:46:58.883 回答