在MVC 5中获取项目根目录名称

时间:2016-12-24 15:01:38

标签: c# asp.net-mvc path asp.net-mvc-5

我无法在任何地方找到关于如何获取项目第一个文件夹名称的答案。

所以对于示例我有一个BaseSite文件夹,在我的解决方案文件所在的BaseSite文件夹里面,我有很多项目。我需要检索“BaseSite”名称而不是那个。

我找到了AppDomain.CurrentDomain.GetData("DataDirectory").ToString();的各种示例,但这些示例为您提供了完整路径,并且我的文件夹名称已隐藏在那里。

Server.MapPath("~/App_Data/somedata.xml");

相同

2 个答案:

答案 0 :(得分:0)

请检查。它将返回基目录。

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

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

答案 1 :(得分: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;