2017-01-10 177 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