0

谁能向我解释如何使用导航到相对路径

AppDomain.CurrentDomain.BaseDirectory

或类似的东西?

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

单元测试在 Visual Studio 中的一个单独项目中,其文件夹与服务不同,但它们都在同一个解决方案中,因此相对于彼此的路径始终相同,但我不知道如何使用它

Process.Start

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

如果有人知道,请告诉我,或者如果您偶然知道在 TFS 自动构建中启动 Web 服务的另一种方法。

4

1 回答 1

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 表示我们正在传递一些参数,其余的可以是您希望执行的任何命令

于 2012-11-22T12:58:33.813 回答