2016-02-29 51 views
0

在Visual Studio中我有一個文件,我希望在其中一個類中可以訪問該文件。這個項目將進入源代碼控制,所以我想使用一個相對路徑指向它在項目中的位置。我已經試過它總是返回DirectoryNotFoundException如下:在Visual Studio中訪問項目文件夾中保存的文件

filePPT = new PowerPointFile("~/IO/ExportTools/Template.pptx"); 

而且

filePPT = new PowerPointFile("~\\IO\\ExportTools\\Template.pptx"); 

我的文件的位置是在以下結構:

enter image description here

我怎樣才能使用相對路徑在Visual Studio中訪問文件?

+0

做了應用程序的啓動路徑的路徑您是否設置了在部署時複製文件? – Gusman

+0

對於.pptx文件,根據給定的生成操作更改屬性:內容和複製到輸出目錄:始終複製。 這將解決您的問題。 然後使用System.Reflection.Assembly.GetExecutingAssembly()。獲取執行路徑的位置並將您的pptx文件的路徑連接起來。 –

回答

1

設置文件的「CopyToOutputDir」屬性設置爲「複製,如果新」,因此,它被複制到輸出文件夾,不是創造相對又名

filePPT = new PowerPointFile(Path.Combine(Application.StartupPath, "IO/ExportTools/Template.pptx")); 
+0

可能在這裏丟失了一些超級簡單的東西,但是我在應用程序中收到錯誤消息,它說「名稱應用程序在當前內容中不存在」 – Novastorm

+0

這是System.Windows.Forms命名空間中的Application類。如果你有不同的項目類型,那麼採取適當的技術類。 System.Reflection.Assembly.GetExecutingAssembly()。如DynamicVariable所示,位置幾乎適用於任何桌面項目類型。 – Ralf

相關問題