2016-12-24 287 views
0

我似乎無法找到任何關於如何獲取我的項目的第一個文件夾的名稱的答案。在MVC中獲取項目根目錄名稱5

因此,例如我有一個BaseSite文件夾,並在該BaseSite文件夾是我的解決方案文件所在的位置,在那裏我有很多項目。我需要回顧一下「BaseSite」的名稱。

我發現了AppDomain.CurrentDomain.GetData("DataDirectory").ToString();的各種示例,但它給了你完整的路徑,我的文件夾名被埋在那裏。

同一個:Server.MapPath("~/App_Data/somedata.xml");

+0

您可以通過使用'AppDomain.CurrentDomain.GetData( 「DataDirectory目錄」)弄清楚很容易地。的ToString()'然後拆分對'/' – mituw16

+0

@ mituw16似乎矯枉過正,不知道如果有一個功能爲你做。 – Bojan

回答

0

請檢查。它將返回基本目錄。

var BaseDirectory = new DirectoryInfo(Server.MapPath("~")).Parent.Name; 

而且

new DirectoryInfo(Server.MapPath("~/App_Data/somedata.xml")).Parent.Name; 
+0

我不是在尋找解決方案文件夾,而是包含完整項目的實際物理文件夾 – Bojan

+0

您的文件夾是否物理存在於文件系統中? – Anadi

+0

是的,它實際上存在於文件系統中 – Bojan

0

我希望這會幫助你。

//this path will return current project folder 
    string path = AppDomain.CurrentDomain.BaseDirectory; 

    DirectoryInfo info = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory); 

    string infy = info.Parent.FullName; //this will give you the full path of project folder. 

如果你必須去一個級別然後再添加

info.Parent.Parent.FullName

如果你必須去一個水平下降到子目錄。然後使用

 DirectoryInfo[] directoryinfo = info.GetDirectories("SearchPattern or your subdirectory name"); 
    string subdirectory = directoryinfo.FirstOrDefault().FullName;