通过c#中相对路径的代码启动应用程序

时间:2012-11-22 12:49:19

标签: c# visual-studio tfsbuild

任何人都可以向我解释如何使用

导航到相对路径
AppDomain.CurrentDomain.BaseDirectory

或类似的东西?

我想从单元测试中启动一个Web服务。我知道如何获得如上所述的单元测试的相对路径或使用系统反射版本,但我不知道如何使用它进行导航。

单元测试是在visual studio中的一个单独项目中,文件与服务不同,但它们都在同一个解决方案中,因此相对于彼此的路径总是相同但我不知道使用

Process.Start

所以我可以告诉它启动服务。

如果有人知道,请告诉我,或者您是否有机会了解在TFS自动构建中启动Web服务的其他方式。

1 个答案:

答案 0 :(得分:2)

有一个名为“System.Diagnostics.ProcessStartInfo”的对象可以帮助您调用外部进程或从.NET应用程序启动应用程序。遍历该文件夹可以使用某种Path.Combine()方法完成,您可以将应用程序所在的相同路径传递给ProcessStartInfo对象的“WorkingDirectory”属性。

var processStartInfo = new ProcessStartInfo(string.Format("cmd /c start some service"))
            {
                WorkingDirectory = ==PathWhereApplicationIs==,
                WindowStyle = ProcessWindowStyle.Hidden,
                ErrorDialog = false,
                CreateNoWindow = true,
                RedirectStandardOutput = true,
                RedirectStandardError = true,
                UseShellExecute = false,
            };

在上面的代码片段中:cmd是命令提示符,/ c表示我们正在传递一些参数,其余的可以是你想要执行的任何命令