Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

2024-05-29

我正在编写一个 .Net WinForms,并不断在调试和发布配置之间切换,并且有一些文件我需要任一配置才能访问。

我想做的是将文件放在 BIN 文件夹中的公共目录中,这样它看起来像这样:

MyProject/Bin/CommonFiles
MyProject/Bin/Debug
MyProject/Bin/Release

我正在考虑使用以下方式访问文件:

System.IO.Directory.GetParent(System.IO.Directory.GetCurrentDirectory).FullName

我的问题是这是否危险,因为根据我读到的内容,System.IO.Directory.GetCurrentDirectory可能会由于用户在打开的文件对话框中选择新的当前目录而发生变化。

我应该使用以下内容:

System.IO.Directory.GetParent(Environment.CurrentDirectory).FullName

OR有没有更好的方法去/Bin文件夹,以便我可以从那里移动,或者使用普遍接受的方式/位置来存储程序通常需要访问的文件,以及更轻松地引用该文件的方式(也许可以与任何类型的应用程序一起使用,而不仅仅是 WinForms)?


您可以使用以下命令获取应用程序的 .exe 位置System.Reflection.Assembly.GetExecutingAssembly().Location.

string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string exeDir = System.IO.Path.GetDirectoryName(exePath);
DirectoryInfo binDir = System.IO.Directory.GetParent(exeDir);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory 的相关文章

随机推荐