Hudson自动构建,命令行调用exe,Process.Start().

Started by user anonymous
No emails were triggered.
[workspace] $ cmd /c call C:\tools\tomcat6\temp\hudson8584936246756672219.bat

C:\tools\tomcat6\webapps\hudson-3.0.0\tempdir\jobs\UserCenter_TA\workspace>C:\tools\tomcat6\webapps\hudson-3.0.0\WEB-INF\Test28.exe

Unhandled Exception: System.ComponentModel.Win32Exception: 系统找不到指定的文件。
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at Test28.Program.Main(String[] args) in E:\mt\3\3-27\Nunit\Solution1\Test28\Program.cs:line 23

C:\tools\tomcat6\webapps\hudson-3.0.0\tempdir\jobs\UserCenter_TA\workspace>exit 255 
Email was triggered for: Failure
Sending email for trigger: Failure
Sending email to: xxx@qq.com
Finished: FAILURE


====================================================

直接双击exe文件,可正常执行,在服务器上直接从命令行来执行也没问题。

远程通过Hudson来调用该exe文件则不行。

问题尚未解决,标记下,待解决。

相关出错的部分代码为:

Process vProcess = new Process();
            vProcess.StartInfo.FileName = "nunit-console.exe";
            vProcess.StartInfo.UseShellExecute = false;
            vProcess.StartInfo.RedirectStandardInput = true;
            vProcess.StartInfo.RedirectStandardOutput = true;
            vProcess.StartInfo.RedirectStandardError = true;
            vProcess.StartInfo.CreateNoWindow = false;
            vProcess.StartInfo.Arguments = @"C:\Apps\UserCenterTester\CQTest\CQTest\TestUserCentre\bin\Debug\TestUserCentre.dll";
            vProcess.Start();

  上面的 vProcess.Start(); 执行到这一步就报错。

初步怀疑是权限问题所致,但未发现具体是哪里的问题。

原文地址:https://www.cnblogs.com/webyu/p/2985895.html