我有以下代码Deploy-FabricApplication.ps1
从桌面应用程序运行powershell脚本(Service Fabric项目模板附带的标准):
using (var shell = PowerShell.Create()) { Environment.CurrentDirectory = tmpPath; var deploymentScriptPath = Path.Combine(tmpPath, "Scripts", "Deploy-FabricApplication.ps1"); var command = new Command(deploymentScriptPath); shell.AddScript("Import-Module ServiceFabric"); command.Parameters.Add("PublishProfileFile", Path.Combine(tmpPath, "PublishProfiles\\Local.5Node.xml")); command.Parameters.Add("ApplicationPackagePath", Path.Combine(tmpPath, "pkg\\Release")); shell.Commands.AddCommand(command); shell.Invoke(); }
但是shell
在脚本调用后包含错误:
未加载指定的模块"ServiceFabric",因为在任何模块目录中都找不到有效的模块文件.
无法找到类型 [System.Fabric.FabricObjectClosedException]
还有另一个错误,但它们是因为ServiceFabric
未加载模块而导致的.但是,即使没有RemoteSigned执行策略的管理员权限,此脚本也会从powershell窗口成功运行.那么有没有办法从C#运行这个脚本,所有模块都加载在Poweshell ISE中?
尝试将桌面应用程序作为x64应用程序运行.Service Fabric SDK仅适用于x64系统.