c# - 目录.GetCurrentDirectory();报告第二个 exe 的路径错误

标签 c# .net

<分区>

我有一个 C# 应用程序 A 启动另一个 C# 应用程序 B,如下所示:

string baseDir = AppDomain.CurrentDomain.BaseDirectory;
string path = baseDir + "Programs\\Logging\\";
Process logger = new Process();
logger.StartInfo.FileName = System.IO.Path.Combine(path, "Logger.exe");
logger.Start();

在 Logger.exe 中,我执行以下操作:

string dir = Directory.GetCurrentDirectory();

但是它告诉我dir是启动它的原始程序A的目录,而不是它自己的目录(Programs\Logging)

这是为什么??

最佳答案

这是正确的目录。它是您启动该进程的工作目录。如果你想改变它,这样做:

string baseDir = AppDomain.CurrentDomain.BaseDirectory;
string path = baseDir + "Programs\\Logging\\";
Process logger = new Process();
// Here's the deal
logger.StartInfo.WorkingDirectory = path;
logger.StartInfo.FileName = System.IO.Path.Combine(path, "Logger.exe");
logger.Start();

关于c# - 目录.GetCurrentDirectory();报告第二个 exe 的路径错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312232/

相关文章:

c# - Microsoft Cognitive Service Vision API ClientException 错误

c# - 特定 session 超时

c# - 在 Windows 8/WinRT/XAML 应用程序中列出时区?

c# - 需要从 .Net 2 升级到更新的版本?

.net - 如何快速将大量 XML 数据放入我的数据库中?

javascript - 使用复选框和 list.js 应用多个过滤器

html - 页面底部的页面导航器

c# - DateTimePicker antd 复选框插入数据库 - 错误 SQL 语法

.net - 在非异步方法中调用异步方法而不等待?

c# - Dispose() - 调用什么以及何时调用