2017-01-10 22 views
-1

私はこれを検索しましたが、私に関連するものは何も見つかりませんでした。 VB.NETのVB.Netの相対パス

、私はPDF_Pathと呼ばれるString varを持っています。 私はビジュアルスタジオプロジェクトで持っているGuideLine.PDFファイルのパスをPDF_Pathに挿入します。

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ファイルは "ドキュメント" フォルダ内にあります。 ビジュアルスタジオでファイルのパスを取得し、パスをString PDF_Path変数に挿入する方法は?

答えて

1

DirectoryPath

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

また、単にファイルがで利用できるようになりますことを確認するために、常にコピーする出力ディレクトリプロパティにコピーを設定することを忘れないように、迅速かつ便利な機能にアクセスするためにMy名前空間を使用しますアプリケーションの作業フォルダを実行しています。

TIP:はちょうどローカルVARSのために世界的に認められた下キャメルケーススタイルを使用して、あなたの変数識別子に文字をアンダースコアに入れないでください。

Dim pdfPath 
+0

ねえマッテオ、その動作していない..私は設定:pdfPath = System.IO.Path.Combine(My.Application.Info.DirectoryPath& "\ドキュメント\ GuideLine.PDF")、および印刷してみましたC:\ Users \ gedaan \ Documents \ Visual Studio 2013 \ Projects \ XMLスレーブ\ XMLスレーブ\ bin \ Debug \ docs \ GuideLine.PDF .....私が表示されていない場合は、 docsという名前のデバッグフォルダを持っていません。 – Gedaan

+1

@Gedaan:あなたのアプリケーションは常に 'bin \ Debug'または' bin \ Release'にあります。プロジェクトの一部であるディレクトリを参照することはできません。これは、アプリケーションがリリースされてから利用できないためです。代わりに 'bin \ Debug'または' bin \ Release'に 'docs'フォルダを入れなければなりません。 –

+0

@Gedaanデバッグしている場合は、そのフォルダを作成し、そこにファイルのコピーを配置してテストする必要があります。デプロイした後は、パスが機能するようにファイルがアプリケーションとともに配備されていることを再度確認する必要があります。そのため、私たちは 'My.Application.Info.DirectoryPath'を持ってこのようなことを簡単にし、最終的には失敗する「ハードコーディング」パスを保存します。別の言葉では、良い答えマッテオ。 – Bugs