使用项目目录获取目录路径

时间:2016-10-11 05:08:54

标签: c# path

我有一个名为 Myproject.Application.DataExporter 的项目。我正在将文件保存到名称为导出的目录中。我正在使用此代码:

workbook.Save(@"D:\workspace\MyApp\Myproject.Application.DataExporter\Export\Calc.xlsx");

我看到如何在Stackoverflow中获取当前项目目录。有这个代码:

Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;

我想使用上面代码之类的通用路径将文件保存在导出目录下。它提供当前项目目录。我想用它来将文件添加到导出目录。如何在我的项目中使用它来向Export添加文件?感谢。

2 个答案:

答案 0 :(得分:1)

string dir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
string path = Path.Combine(dir, "Myproject.Application.DataExporter", "Export");
string file = "Calc.xlsx";
workbook.Save(Path.Combine(path, file));

或者如果您想跳过Myproject.Application.DataExporter

string dir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
string path = Path.Combine(dir, "Export");
string file = "Calc.xlsx";
workbook.Save(Path.Combine(path, file));

答案 1 :(得分:1)

根据之前的其他评论,您需要澄清您的问题。我假设您想要获取当前目录,然后将文件保存到该目录,以便路径相对于您托管应用程序的位置?

你可以这样做:

workbook.Save(Path.Combine(Environment.CurrentDirectory, "Calc.xlsx");

要获取相对于当前工作目录的路径,请参阅此处: Getting path relative to the current working directory?

修改 不能评论为没有足够的声誉。 当你执行Directory.GetCurrentDirectory()时返回的值是什么?

如果Directory.GetParent(Directory.GetCurrentDirectory())。Parent.FullName返回"导出"文件夹路径你可以这样做:

string fileName = "Calc.xlsx";        
workbook.Save(Path.Combine(Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName, fileName );