是否可以在代码中引用项目文件?

时间:2012-07-18 15:43:12

标签: vb.net visual-studio-2010 file-io

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

Dim s as string = System.IO.Directory.GetCurrentDirectory将返回可执行文件的目录。 如果您始终通过IDE或构建文件夹运行此操作,则这将是MySolution / MyProject / bin /(调试或发布)。 然后System.IO.Directory.GetParent(s)两次就可以获得项目文件夹路径。