2010-04-24 148 views
3

我需要一些路徑的幫助,請!C中的相對路徑#

基本上我有以下文件夾結構的項目:

Project (root directory which contains the .sln file etc.) 
Project/MyProj (contains the code) 
Project/MyProjTest (the test folder) 
Project/TestResults 
這個項目,我需要有一個共同的文件夾,在那裏我能堅持一堆與應用程序使用的文件,而不必複製

現在文件到多個位置等等。這樣做的最好方法是什麼?理想情況下,我想將該文件夾設置爲Project/ResourcesFolder,以便代碼文件夾和測試文件夾都可以訪問它。現在如果是這種情況,我該如何在C#中調用此文件夾?我試過Application.StartupPath,Environment.GetCurrentDirectory但他們都只是返回CURRENT文件夾,這不是我想要的。

在此先感謝。

+0

將Oded和phimuemue的答案結合起來就可以了。 – 2010-04-24 15:44:06

回答

1

您可以將解決方案文件夾添加到您的解決方案中,並在其中放置常用文件。

0

..往上一個目錄。也就是說,從Project/MyProjTest您可以通過../MyProj訪問Project/MyProj

+0

但是如果我需要從Project/MyProjTest和Project/MyProjTest/SomeOtherFolder訪問公共文件夾呢? – Suraj 2010-04-24 15:45:12

0

使用Server.MapPath(「〜」)進入應用程序的根文件夾。從那裏你可以到達任何你需要的地方。

1

您必須複製這些文件,您希望程序在部署後以相同的方式運行。最簡單的方法是將它們添加到您的項目中。在屬性窗口中,設置生成操作=無,複製到輸出目錄=複製如果更新。後一種設置確保您不會浪費時間一遍又一遍地複製文件。

這可確保文件與您的EXE位於同一目錄中。無論是在調試時還是在部署後。只需使用Application.StartupPath來找到它們。爲應用程序創建安裝項目現在也非常簡單。

請注意,如果文件很小,您確實希望將它們嵌入爲資源。