当前位置:  开发笔记 > 编程语言 > 正文

我应该使用AppDomain.CurrentDomain.BaseDirectory还是System.Environment.CurrentDirectory?

如何解决《我应该使用AppDomain.CurrentDomain.BaseDirectory还是System.Environment.CurrentDirectory?》经验,为你挑选了4个好方法。

我在同一个文件夹中有两个exe文件,我可以从exe1中的一个按钮运行exe2.今天我通过远程(终端服务)会话观察客户,exe2无法运行'找不到文件'错误,但是当我们检查时,exe1在同一目录中.我应该使用AppDomain.CurrentDomain.BaseDirectory还是System.Environment.CurrentDirectory?

谢谢



1> JaredPar..:

如果要在与应用程序相同的目录中查找文件,AppDomain.CurrentDomain.BaseDirectory则是正确的选择.

Environment.CurrentDirectory是一个可以并且将在运行应用程序的过程中发生变化的值.例如,使用默认参数,WinForms中的OpenFileDialog会将此值更改为从中选择文件的目录.


我希望我能在这一次上多次投票给你.

2> Albert..:

AppDomain.CurrentDomain.BaseDirectory返回加载当前应用程序域的目录.System.Environment.CurrentDirectory返回当前系统目录.在您的情况下,AppDomain.CurrentDomain.BaseDirectory是最佳解决方案.



3> Dalorzo..:

你应该用AppDomain.CurrentDomain.BaseDirectory.

例如,在Windows服务应用程序中:

System.Environment.CurrentDirectory将返回C:\ Windows\system32

AppDomain.CurrentDomain.BaseDirectory 将返回[Application.exe位置]

另一个需要注意的重要因素是,这AppDomain.CurrentDomain.BaseDirectory是一个只读属性,而Environment.CurrentDirectory必要时可以是其他东西:

// Change the directory to AppDomain.CurrentDomain.BaseDirectory
Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory;   



4> Joel Coehoor..:

据我了解,你应该使用BaseDirectory. CurrentDirectory可能会改变程序的执行过程.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有