我正在使用 streamwriter 来记录错误
它的设计方式(请不要问为什么)是每次应用程序必须记录消息时打开一个新的 streamwriter。它将所有内容输出到 ./Logs/[current-date].txt,通常解析为“c:\myappfolder\logs[current-date].txt”
一切正常,但在我使用打开文件对话框说“C:\home\myfolder\myfile”后,streamwriter 尝试写入“c:\home\myfolder\logs[current-date].txt” "
我知道这个问题的解决方案,但我只是不明白发生了什么
最佳答案
当前目录是进程范围的值。
OpenFileDialog
正在更改当前目录。
如果您正在使用 .NET OpenFileDialog
类,您可以将 RestoreDirectory
属性设置为 true
以告知对话框离开仅当前目录(尽管 RestoreDirectory
文档的编写方式可能存在一些线程问题,我想这可能会使它仍然不适合日志记录工具)。
关于.net - ./在我使用 OpenFileDialog 时更改目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369506/