当前位置:  开发笔记 > 编程语言 > 正文

从C#运行服务结构powershell脚本

如何解决《从C#运行服务结构powershell脚本》经验,为你挑选了1个好方法。

我有以下代码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中?



1> yoape..:

尝试将桌面应用程序作为x64应用程序运行.Service Fabric SDK仅适用于x64系统.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有