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 回答