1

在 Visual Studio (VB.NET) 中,我想打开一个文件并将内容读入一个字符串。当文件位于磁盘上的已知位置时,这很容易,因为您可以将其引用为 C:\Windows\foo.txt 或其他任何内容。有没有办法根据文件在解决方案中的位置来引用文件?例如,MySolution\MyProject\MyFolder\foo.txt。要读取的文件将是一个 SQL 文件,因此其中不会有任何代码对象可供使用。

我使用了一大堆不同的解决方案,这些解决方案存储在磁盘上的不同位置,所以我真的不想直接处理文件系统。有任何想法吗?

4

2 回答 2

2

如果您转到解决方案中文件的文件属性,您会注意到选项之一是“复制到输出目录”。您需要将其设置为“始终复制”或“如果更新则复制”。在所有相关文件上设置并重新构建项目后,您会注意到所有这些文件将作为构建过程的一部分复制到bin\Debugor文件夹(您正在构建的文件夹)。bin\Release现在,在您的应用程序中,您可以假设它们将与您的应用程序位于同一目录中。

于 2012-07-18T16:47:14.620 回答
1

Dim s as string = System.IO.Directory.GetCurrentDirectory will return the executable's directory. If you're always running this via the IDE, or from the build folder, this will be MySolution/MyProject/bin/(Debug or Release). Then System.IO.Directory.GetParent(s) twice should get you the project folder path.

于 2012-07-18T19:58:24.697 回答