gpt4 book ai didi

c# - 如何使用 C# Runspace 加载 powershell 模块

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:37 25 4
gpt4 key购买 nike

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

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 文件夹和上述路径中。但是当我尝试“open()”运行空间时,出现以下异常:

Could not load file or assembly 'WAPPSCmdlets' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

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

最佳答案

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

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

关于c# - 如何使用 C# Runspace 加载 powershell 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10906938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com