2017-01-10 109 views
-1

我搜索了这个,但没有发现与我相关的东西。VB.Net中的相对路径

在VB.NET中,我有一个名为PDF_Path的String变量。 我想插入到PDF_PATH中的Visual Studio项目中的GuideLine.PDF文件的路径。

我的项目树在Visual Studio:

Solution 'XML Slave'(1 project) 
XML SLAVE 
    |______(FOLDER)docs 
      |______**GuideLine.PDF** 
    |______(FOLDER)Images 
    |______(FOLDER)Resources 
    |______about.vb 
    |______MainForm.vb 
    |______MsgForm.vb 

的GuideLine.PDF文件在 “文档” 文件夹中。 我如何可以在Visual Studio中获取文件的路径并将路径插入到String PDF_Path变量中?

回答

1

使用My命名空间访问快捷方便的功能,像DirectoryPath

Dim PDF_Path = System.IO.Path.Combine(My.Application.Info.DirectoryPath, "\docs\GuideLine.PDF") 

还记得设置复制到输出目录属性始终可以复制,只是要确保该文件将在可执行应用程序的工作文件夹。

提示:不要把你的变量标识符下划线字符,只使用全球公认的低驼峰样式本地变量。

Dim pdfPath 
+0

嘿利玛,其不工作..我设置:pdfPath = System.IO.Path.Combine(My.Application.Info.DirectoryPath& “\文档\ GuideLine.PDF”),并试图以打印它显示我:C:\ Users \ gedaan \ Documents \ Visual Studio 2013 \ Projects \ XML Slave \ XML Slave \ bin \ Debug \ docs \ GuideLine.PDF ..... i在调试文档中没有文件夹。 – Gedaan

+1

@Gedaan:您的应用程序始终位于'bin \ Debug'或'bin \ Release'中。您不能引用作为项目一部分的目录,因为一旦发布应用程序就无法使用该目录。您必须将'docs'文件夹放在'bin \ Debug'或'bin \ Release'中。 –

+0

@Gedaan如果你正在调试你将需要创建该文件夹,并将文件的副本放在那里进行测试。一旦部署完毕,您将再次需要确保文件与应用程序一起部署,以便路径起作用。这就是为什么我们使用'My.Application.Info.DirectoryPath'来简化事情,并保存最终会失败的“硬编码”路径。另一方面,Matteo的回答很好。 – Bugs