在Visual Studio(VB.NET)中,我想打开一个文件并将内容读入字符串。当文件位于磁盘上的已知位置时,这很容易,因为您可以将其引用为C:\ Windows \ foo.txt或其他任何内容。有没有办法根据文件在解决方案中的位置来引用文件?例如,MySolution \ MyProject \ MyFolder \ foo.txt。要读取的文件将是一个SQL文件,因此不会有任何代码对象可供使用。
我使用了大量存储在磁盘上不同位置的不同解决方案,所以我真的不想直接处理文件系统。有什么想法吗?
答案 0 :(得分:1)
如果转到解决方案中文件的文件属性,您会注意到其中一个选项是“复制到输出目录”。您需要将其设置为“始终复制”或“如果更新则复制”。在所有相关文件上设置并重新构建项目后,您会注意到所有这些文件都将被复制到bin\Debug
或bin\Release
文件夹(您构建的文件夹)作为构建过程的一部分。现在,在您的应用程序中,您可以假设它们将与您的应用程序位于同一目录中。
答案 1 :(得分:1)
Dim s as string = System.IO.Directory.GetCurrentDirectory
将返回可执行文件的目录。
如果您始终通过IDE或构建文件夹运行此操作,则这将是MySolution / MyProject / bin /(调试或发布)。
然后System.IO.Directory.GetParent(s)
两次就可以获得项目文件夹路径。