从以下获得执行程序集的工作目录的方法中,是否有关于哪一个被认为是最佳实践的建议?我从我的开发人员那里听说,方法1有时会在Windows7 SP1 64位上失败,除非使用提升的权限运行(以管理员身份运行)。但是方法2一直有效。前者有时会失败,有什么原因吗?
方法1:
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.Location())方法2:
Environment.CurrentDirectory发布于 2012-01-20 10:29:46
Environment.CurrentDirectory是获得工作目录的方法。使用反射也可能比较慢。
但是要小心:这两种方法并不相同:方法A总是返回存储程序集的目录,因为Environment.CurrentDirectory提供了当前工作目录,该目录在应用程序生存期内可以更改,因为Environment.CurrentDirectory也可以用来设置工作目录,其他方法也可以更改它(例如,文件打开/保存对话框)。
https://stackoverflow.com/questions/8939824
复制相似问题