2016-12-24 4 views
0

私のプロジェクトの最初のフォルダの名前を取得する方法のどこにも答えが見つからないようです。MVC 5のプロジェクトルートディレクトリ名を取得

例では、私はBaseSiteフォルダを持っていて、そのBaseSiteフォルダ内に私のソリューションファイルが置かれている場所にあります。そこには多くのプロジェクトがあります。私は "BaseSite"という名前だけを取り戻す必要があります。

私はAppDomain.CurrentDomain.GetData("DataDirectory").ToString();でさまざまな例を見つけましたが、完全なパスとフォルダ名が埋め込まれています。

と同じ:Server.MapPath("~/App_Data/somedata.xml");

+0

を使用し、'して、 '/' mituw16 @ – mituw16

+0

は、やり過ぎのように見えた思っていたに分割しますあなたのためにそれを行う機能があったら。 – 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

私は、これはあなたを助けることを願っています。あなたは1つの上のレベルに行くことがあれば

//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

を追加すると、1レベル下のサブディレクトリに移動する必要があります。そして、ToStringメソッド()。あなたは `AppDomain.CurrentDomain.GetData( "DataDirectoryの")を使用してかなり簡単にそれを把握することができ

 DirectoryInfo[] directoryinfo = info.GetDirectories("SearchPattern or your subdirectory name"); 
    string subdirectory = directoryinfo.FirstOrDefault().FullName; 
関連する問題