2016-12-24 128 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;