0

我的程序中的一项功能需要文件夹中的文件。我想知道是否可以指定该文件夹与程序的 .exe 位于同一目录中(因此,如果用户在安装过程中更改目录,它会在程序中自动更改)..

那么,例如,如果 .exe 在“C:/Program Files/MyProgram”中,程序会自动查找“C:/ProgramFiles/MyProgram/MyFile”吗?如果.exe 在“D:/MyStuff/MyProgram”中,程序会自动寻找“D:/MyStuff/MyProgram/MyFile”吗?

指定文件路径

我想在这里指定它与 .exe 所在的位置相同。

这可能吗?

4

2 回答 2

1

也许在代码中,您可以使用以下值修改该属性:AppDomain.CurrentDomain.BaseDirectory

于 2013-04-28T11:16:46.123 回答
0

在 GUI 应用程序中控制工作目录非常困难。工作目录可能不是包含可执行文件的目录。或者工作目录可能已被您的进程中的某些代码更改。而且由于相对路径是相对于工作目录的,这使得任何使用相对路径的尝试都像彩票一样。

所以,我的建议是你使用绝对路径。使用 Path.Combine 将包含可执行文件的路径(例如通过使用 Assembly.GetExecutingAssembly().Location)和文件名连接在一起,并使用生成的绝对路径。

于 2013-04-28T11:28:11.747 回答