p.Start C# 错误

p.Start in C# errors

我最近开始将一个项目从 VB 移植到 C#,所以如果这是一个新手问题,我深表歉意。我似乎无法让这个过程为我的生活工作:

Process p = default(Process);
try
{
    p.Start("powershell", 
            "-ExecutionPolicy ByPass -windowstyle hidden -file .\scripts\Excel.ps1");
}
catch(Exception ex)
{
}

我遇到了几个错误:

  • Unrecognized escape sequence

  • Member Process.Start(string, string) cannot be accessed with an instance reference; qualify it with a type name instead.

如有任何帮助,我们将不胜感激。

编辑:我正从 VB.net 转向 C#,因为我更喜欢 C# 的语法(来自 java 背景),但我不太了解 C# visual studio 工作。

EDIT2:用@修复了引号,仍然得到

  • Member Process.Start(string, string) cannot be accessed with an instance reference; qualify it with a type name instead

错误。

您需要在 Verbatim 字符串中使用双斜杠

p.Start("powershell", "-ExecutionPolicy ByPass -windowstyle hidden -file .\scripts\Excel.ps1");

另一种选择是在它前面使用@符号。

对于第二个错误:

错误消息说:成员Process.Start(string, string) 不能用实例引用访问;用类型名称来限定它。所以你需要把它叫做 static method:

System.Diagnostics.Process.Start( "powershell", "-ExecutionPolicy ByPass -windowstyle hidden -file .\scripts\Excel.ps1");