gpt4 book ai didi

c# - 什么会导致正在执行的应用程序的当前目录发生变化?

转载 作者:行者123 更新时间:2023-11-30 18:56:08 24 4
gpt4 key购买 nike

我有一个包含以下代码的 C# 应用程序:

string file = "relativePath.txt";

//Time elapses...

string contents = File.ReadAllText(file);

这在大多数情况下都很好用。该文件是相对于启动应用程序的目录读取的。但是,在测试中发现,如果放置约 5 小时,该应用程序将抛出 FileNotFoundException 提示“C:\Documents and Settings\Adminstrator\relativePath.txt”无法打开成立。如果读取文件的操作立即运行,则会从正确的位置读取文件,我们称之为“C:\foo\relativePath.txt”

什么给了?而且,最好的解决办法是什么?正在根据 Assembly.GetEntryAssembly().Location 解析文件?

最佳答案

OpenFileDialog 是一个可以改变路径的诡异地方。当用户在文件夹之间导航时,它会将您的应用程序目录更改为当前正在查看的目录。如果用户在不同的目录中关闭对话框,那么您将被困在该目录中。

它有一个名为 RestoreDirectory 的属性这会导致对话框重置路径。但我相信默认值是“false”。

关于c# - 什么会导致正在执行的应用程序的当前目录发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/158219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com