3

現在のパスから特定の親ディレクトリ パスを取得する簡単な方法はありますか。

次のようなパスがあります。

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName\\ProjectName\\bin\\Debug"

このように、「SolutionName」ディレクトリへのパスを取得したい

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName"

フォルダにデータを保存しているので必要です

"c:\\users\\userName\\documents\\visual studio 2013\\Projects\\SolutionName\\DataFolder"

私のソリューションのさまざまなプロジェクトからアクセスする必要があります。

みんなありがとう、私が終わったものがあります

public static string GetParent( string parentName,string FileName)
    {
        var dir = new DirectoryInfo(System.IO.Directory.GetCurrentDirectory());

        while (dir.Parent.Name != parentName)
        {
            dir = dir.Parent;
        }
        return dir.Parent.FullName+"\\Data\\"+FileName;
    }

Callum Bradbury の回答を受け入れたのは、再帰的ではないように変更したからです。

4

5 に答える 5

1

あなたが探しているものは次のとおりです。

var curd = Environment.CurrentDirectory; 
// this will give you current directory for eg: if you are in "Debug" mode then "c:\users\userName\documents\visual studio 2013\Projects\SolutionName\ProjectName\bin\Debug" and if you are in "Release" mode then "c:\users\userName\documents\visual studio 2013\Projects\SolutionName\ProjectName\bin\Release"

SolutionNameここで必要なのは、レベルアップするフォルダーまでのパス名3であるため、上記の行に追加するだけです@"\..\..\..\"

すなわち

var curd = Environment.CurrentDirectory + @"\..\..\..\";

これで完了です。

Key追加する必要がcurrent directoryあるのと同じ数から上に行きたいレベルの数。@"\..\"

于 2015-04-17T10:03:13.497 に答える
0

必要なパスで登録キーを作成します

Microsoft.Win32.RegistryKey key;
key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Names");
key.SetValue("Name", "Isabella");
key.Close();

作成すると、名前空間RegistryKeyの下でクラスを使用できますMicrosoft.Win32

于 2015-04-17T10:14:19.367 に答える