C# 在C中运行Powershell脚本时的转义字符问题#

C# 在C中运行Powershell脚本时的转义字符问题#,c#,powershell,escapestring,C#,Powershell,Escapestring,我在C#中转义字符以运行Powershell脚本时遇到问题。为了使问题简短。我做了下面的测试 我可以在Powershell ISE中成功运行以下命令 New-Issue -Summary "Test Summary" -Description "test `"test`" " 基本上,脚本将记录插入数据库表中。该表有两列:摘要和说明。摘要的值为“测试摘要”,说明的值为“测试”测试“” 我试图通过执行以下操作在C#中运行相同的Powershell命令 try{ command = "Ne

我在C#中转义字符以运行Powershell脚本时遇到问题。为了使问题简短。我做了下面的测试

我可以在Powershell ISE中成功运行以下命令

New-Issue -Summary "Test Summary" -Description "test `"test`" "
基本上,脚本将记录插入数据库表中。该表有两列:摘要和说明。摘要的值为“测试摘要”,说明的值为“测试”测试“”

我试图通过执行以下操作在C#中运行相同的Powershell命令

try{
    command = "New-Issue -Summary \"Test Summary \" -Description \"test `\"test`\" \"";
    powerShellInstance = PowerShell.Create();
    powerShellInstance.AddScript(command);
    Collection<PSObject> PSOutput = powerShellInstance.Invoke();
    ...
}
catch(Exception e)
{
    return e.Message;
}
脚本在C#中运行良好。 我相信我在这里正确地避开了双引号。有人知道这里出了什么问题吗

请注意,此示例仅用于演示目的。我知道我可以以一种简单的方式将数据插入C#中的表中。我只是想弄清楚如何正确地在C#中运行Powershell脚本

多谢各位

注:我忘了提到我更喜欢使用`来转义双引号,而不是在描述字段中使用单引号。因为描述的值是从文本框中获取的。通过这样做,我只能处理文本框中的双引号,并保持一切原样

 command = "New-Issue -Summary \"Test Summary \" -Description \"test \"";