Path.Combine无法工作/无法获得工作目录

时间:2019-02-04 13:04:25

标签: c# path working-directory

我已经在我的解决方案中将工作目录设置为一个名为“正在工作”的文件夹(通过右键单击解决方案->调试->设置工作目录)。我已经在该文件夹中创建了一个名为appSettings.xml的文件。 我想获取该xml文件的路径并将其放入变量中,我已经尝试了以下代码,但是它不起作用,我在做什么错呢?:

编辑:问题似乎是我的工作文件夹是... bin \ debug,即使我在属性中将其设置为正确的路径也是如此。如何将其设置到其他目录?

string settingsPath = Path.Combine(Directory.GetCurrentDirectory(), "appSettings.xml");

3 个答案:

答案 0 :(得分:0)

首先检查Directory.GetCurrentDirectory()是否存在

if(Directory.Exists(Directory.GetCurrentDirectory())
{
  //This will write CurrentDirectory path on console
   Console.WriteLine(Directory.GetCurrentDirectory()); 
  //If exist then check for Path.Combine()
}
  

注意:当前目录不同于原始目录,   这是一个开始的过程

大多数情况下,它是bin文件夹的目录

您可以通过将参数传递给函数来设置CurrentDirectory

Directory.SetCurrentDirectory(@"c:\program files\");

答案 1 :(得分:0)

检查目录作为较早的答案应告诉该目录是否存在。 不知道您是否在问题中复制并粘贴了文件名。在这种情况下,您将文件名拼写错误,因为在文件名中提到文件名和2 x T的拼写是3 xT。 可能很容易错过,以为每个人都做过一次或“两次”。

尝试将路径用作字符串以检查代码是否可以找到您的文件。

if (File.Exists(Path.Combine(filedirectoryPathAsString, fileName))

答案 2 :(得分:0)

此答案针对已编辑的问题。 您可以通过Right click on project -> Properties -> Build -> Output -> Output path

更改输出目录

也请研究此解决方案以了解区别:https://stackoverflow.com/a/27322567/4731319