【发布时间】:2010-01-12 13:13:24
【问题描述】:
使用OpenFileDialog 选择文件后,Environment.CurrentDirectory 更改为文件所在的文件夹。这是正常的吗?
据我了解 Environment.CurrentDirectory 应该始终是应用程序文件夹。
【问题讨论】:
标签: c#
使用OpenFileDialog 选择文件后,Environment.CurrentDirectory 更改为文件所在的文件夹。这是正常的吗?
据我了解 Environment.CurrentDirectory 应该始终是应用程序文件夹。
【问题讨论】:
标签: c#
看看
Difference of AppDomain.CurrentDomain.BaseDirectory and Environment.CurrentDirectory
以下有什么区别?
- AppDomain.CurrentDomain.BaseDirectory
- Environment.CurrentDirectory
- AppDomainSetup.ApplicationBase
1 和 3 基本相同。这 区别在于 AppDomainSetup.ApplicationBase 是 可写,但 AppDomain.BaseDirectory 是只读的,因为你不能改变它 应用程序域创建后。
2 完全不同。 它用于解析相对路径, 除其他事项外。 您可以更改 CurrentDirectory 随时在您的 代码,它也可以由 FileDialogs 之类的东西。
【讨论】:
因为对话框会在搜索文件或文件夹时更改 Environment.CurrentDirectory .. 或选择它们进行上传..等..
注意:如对您问题的评论中所示,请按照 duplicate question..的链接使用
FileDialog.RestoreDirectory property.
【讨论】:
是的,这很正常,并且当前目录并不总是应用程序文件夹。运行 cmd 并使用 cd 命令更改目录。您刚刚更改了 Environment.CurrentDirectory 中显示的相同值!当用户通过命令行或类似机制指定文件名时,您应该只使用当前目录值。如果您想要应用程序文件夹,请使用 Application.StartupPath 属性。
【讨论】: