65

重複の可能性:
c# を使用して .exe のパスを取得する

こんにちは、質問があります: ルート プロジェクト パスを取得するにはどうすればよいですか? つまり、ソリューションがあるプロジェクトの最初のフォルダーです。そのコマンドを見つけました:

System.IO.Directory.GetCurrentDirectory();

ただし、リリース フォルダーへの特定のパスが表示されます: Wanted_Path/bin/Release

他のコードはありますか?手動でカットするか、ファイルを Release フォルダーに配置する必要がありますか??

4

4 に答える 4

98

これにより、ルート フォルダーが得られます。

System.AppDomain.CurrentDomain.BaseDirectory

.. または ./ などを使用して、ここから移動できます。.. を追加すると、.sln ファイルがあるフォルダーに移動します。

.NET フレームワークの場合 ( Adiono のコメントに感謝)

Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"..\\..\\"))

.NETコアの場合、これを行う方法があります(nopara73コメントに感謝)

Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..\\..\\..\\")) ;
于 2013-01-27T17:10:35.110 に答える
43

使用できます

string wanted_path = Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory()));
于 2013-01-27T17:04:37.353 に答える
20
var requiredPath = Path.GetDirectoryName(Path.GetDirectoryName(
System.IO.Path.GetDirectoryName( 
      System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase )));
于 2013-01-27T17:09:05.017 に答える
10

あなたのプログラムはあなたの VS プロジェクトがどこにあるかを知らないので、私の .exe../..パスを取得し、プロジェクトのパスを取得してください。

于 2013-01-27T17:11:22.440 に答える