加载System.Management.Automation程序集时出错

时间:2013-07-04 06:54:55

标签: c# wpf powershell assemblybinding

我正在开发一个运行powershell脚本的WPF应用程序。

string scriptPath = "/script/myscript.ps1";
Runspace runspace = RunspaceFactory.CreateRunspace();
runspace.Open();
Pipeline pipeline = runspace.CreatePipeline();
pipeline.Commands.AddScript(scriptPath);
Collection<PSObject> results = pipeline.Invoke();  

我添加了以下程序集。

C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0\System.Management.Automation.dll

但是当程序运行后出现异常;

  

无法加载文件或程序集'System.Management.Automation,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。强名称验证失败。 (来自HRESULT的异常:0x8013141A)“:”System.Management.Automation,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35“} **

当我搜索此错误时,我可以找到一些答案。但那些对我来说并不清楚。 请指教我。

1 个答案:

答案 0 :(得分:9)

最后我能够解决我的问题。这就是我所做的;
打开我的 .csproj 文件
搜索System.Management.Automation参考。
将其替换为以下<Reference Include="System.Management.Automation" />
这些步骤解决了我的问题