2017-01-10 5 views
-1

Я искал это, но не нашел ничего подходящего для меня.Относительный путь в VB.Net

в VB.NET, у меня есть строка var, называемая PDF_Path. Я хочу вставить в PDF_Path путь к файлу 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 находится в папке "DOCS". Как я могу получить путь к файлу в visual studio и вставить путь в переменную String PDF_Path?

ответ

1

Используйте My пространства имен для доступа к быстрым и удобным функциям, как DirectoryPath

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

Также не забудьте установить копию на собственность Output Directory для копирования всегда, просто чтобы быть уверенными, что файл будет доступен в выполнение рабочей папки приложения.

TIP: Не ставьте подчеркивание символов в ваших идентификаторах переменных, просто использовать глобально принятый нижний верблюжьих стиля для местного Варса.

Dim pdfPath 
+0

Эй Маттео, ее не работает .. я установить: pdfPath = System.IO.Path.Combine (My.Application.Info.DirectoryPath & "\ Docs \ GuideLine.PDF"), и пытался напечатать путь, чтобы увидеть, работает ли его работа, но его нет, показывая мне: C: \ Users \ gedaan \ Documents \ Visual Studio 2013 \ Projects \ XML Slave \ XML Slave \ bin \ Debug \ docs \ GuideLine.PDF ..... i В папке debug docs нет папки. – Gedaan

+1

@Gedaan: Ваше приложение всегда находится в 'bin \ Debug' или' bin \ Release'. Вы не можете ссылаться на каталог, который является частью проекта, поскольку он не будет доступен после выпуска приложения. Вместо этого вы должны поместить папку 'docs' в' bin \ Debug' или 'bin \ Release'. –

+0

@ Gedaan, если вы отлаживаете, вам нужно будет создать эту папку и поместить туда копию файла для тестирования. После развертывания вам снова понадобится обеспечить, чтобы файл был развернут с приложением, поэтому путь работает. Именно поэтому у нас есть 'My.Application.Info.DirectoryPath', чтобы упростить такие вещи и сохранить пути« жесткого кодирования », которые в конечном итоге потерпят неудачу. С другой стороны, хороший ответ Маттео. – Bugs

Смежные вопросы