Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未从代码中传递参数_C#_Powershell_Sharepoint - Fatal编程技术网

C# 未从代码中传递参数

C# 未从代码中传递参数,c#,powershell,sharepoint,C#,Powershell,Sharepoint,我正在处理一个简单的SharePoint页面,该页面从下拉列表中获取数据,并将其作为参数传递给PowerShell脚本。但调试时出现错误,我发现没有向脚本传递任何参数 脚本文件位于“我的布局”文件夹中,其结构如下: Param($param1,$param2,$param3) 我在C代码中所做的是使用StreamReader读取文件,然后使用以下代码运行脚本: 使用(PowerShell PowerShell=PowerShell.Create()){ powerShell.Runspace.

我正在处理一个简单的SharePoint页面,该页面从下拉列表中获取数据,并将其作为参数传递给PowerShell脚本。但调试时出现错误,我发现没有向脚本传递任何参数

脚本文件位于“我的布局”文件夹中,其结构如下:

Param($param1,$param2,$param3)
我在C代码中所做的是使用
StreamReader
读取文件,然后使用以下代码运行脚本:

使用(PowerShell PowerShell=PowerShell.Create()){
powerShell.Runspace.RunspaceConfiguration.AddPSSnapIn(\u powerShell,out snapInException);
powerShell.Commands.AddScript(读脚本表单streamreader);
powerShell.AddParameter(“param1”,SPContext.Current.Site.Url+“/”;
powerShell.AddParameter(“参数2”,选择了Text1);
powerShell.AddParameter(“param3”,选择了Text2);
试一试{
var results=powerShell.Invoke();
}catch(异常exp){}
}
我得到一个错误,我的参数是空的,我不知道为什么我的参数没有通过。我做错什么了吗

此外,我还尝试使用以下脚本运行ps1脚本:

RunspaceConfiguration runspaceCOnfig=RunspaceConfiguration.Create();
Runspace Runspace=RunspaceFactory.CreateRunspace(runspaceCOnfig);
Open();
RunspaceInvoke scriptInvoker=新的RunspaceInvoke(运行空间);
Pipeline Pipeline=runspace.CreatePipeline();
命令myCommand=新命令(脚本路径);
CommandParameter param1=新的CommandParameter(“param1”,SPContext.Current.Site.Url+“/”;
CommandParameter param2=新的CommandParameter(“param2”,selectedText1);
CommandParameter param3=新的CommandParameter(“param3”,selectedText2);
myCommand.Parameters.Add(param1);
myCommand.Parameters.Add(param2);
myCommand.Parameters.Add(param3);
pipeline.Commands.Add(myCommand);
我得到了这个错误:

“path_to_script.ps1”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试


path\u to\u script.ps1
是绝对路径吗?你的第二个例子看起来不错,听起来好像无法解析脚本的路径hi@MathiasR.Jessen,我成功了!显然,我只有在参数中包含特殊字符时才会出现此错误:(