所以目前我在 Visual Studio 中有一个 C#/ASP.net 应用程序。我还有一个由其他人编写的 perl 脚本,我必须在我的 C#/ASP.NET 应用程序中使用它。最终目标是将我的 C#/ASP.NET 代码中生成的字符串传递到这个 perl 脚本(该字符串是文件路径),以便 perl 脚本运行并给出适当的输出。
我看了一遍,只找到了这个例子:
ProcessStartInfo perlStartInfo = new ProcessStartInfo(@"d:\Perl\bin\perl.exe");
perlStartInfo.Arguments = "c:\\word-splitter.pl " + "c:\\a.txt" + " ispell";
perlStartInfo.UseShellExecute = false;
perlStartInfo.RedirectStandardOutput = true;
perlStartInfo.RedirectStandardError = true;
perlStartInfo.CreateNoWindow = false;
Process perl = new Process();
perl.StartInfo = perlStartInfo;
perl.Start();
perl.WaitForExit();
string output = perl.StandardOutput.ReadToEnd();
问题是,每当我将此代码放入 Visual Studio 时,它都无法识别 ProcessStartInfo 或此代码块使用的任何其他命名空间。我错过了一个程序集吗?......这个块到底是做什么的?我试图搜索 Nuget 包和程序集,但只发现 PCRE(Perl 兼容正则表达式)无法安装,因为它与 .NetFramwork V4.5 不兼容。
所以我的问题是:在 C#/ASP.NET 应用程序中运行 perl 脚本的协议是什么?
谢谢。