Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将文件保存在项目中的指定文件夹中_C#_File Io - Fatal编程技术网

C# 将文件保存在项目中的指定文件夹中

C# 将文件保存在项目中的指定文件夹中,c#,file-io,C#,File Io,我正在创建一个Xml文件,并希望将其保存在解决方案中项目内的指定文件夹中,以便在解决方案资源管理器中访问它 XmlSerializer serializer = new XmlSerializer(typeof(BoxSet)); TextWriter textWriter = new StreamWriter("../../Box.xml"); 如何指定路径,以便创建文件夹并将xml文件保存在其中 因为它现在在我的项目的根目录中创建文件,所以我无法在解决方案资源管理器中查看它 XmlS

我正在创建一个Xml文件,并希望将其保存在解决方案中项目内的指定文件夹中,以便在解决方案资源管理器中访问它

 XmlSerializer serializer = new XmlSerializer(typeof(BoxSet));
 TextWriter textWriter = new StreamWriter("../../Box.xml");
如何指定路径,以便创建文件夹并将xml文件保存在其中

因为它现在在我的项目的根目录中创建文件,所以我无法在解决方案资源管理器中查看它

 XmlSerializer serializer = new XmlSerializer(typeof(BoxSet));
 TextWriter textWriter = new StreamWriter("../../Box.xml");

很抱歉,我还是个新手……我缺少什么吗?

您可以在声明新StreamWriter时指定路径

TextWriter textWriter = new StreamWriter("../../Box.xml");
这归结为:

  • ../-上一个目录
  • ../-上一个目录
  • 这里是Box.xml文件
因此,当您希望在根文件夹内的文件夹中创建文件时,可以使用:

  • “./foldername/Box.xml”
但如果您不想依赖当前文件位置,也可以使用:

AppDomain.CurrentDomain.BaseDirectory
这将使:

var path = String.Format("{0}foldername\Box.xml", AppDomain.CurrentDomain.BaseDirectory);
TextWriter textWriter = new StreamWriter(path);

希望这能有所帮助。

不要使用
AppDomain.CurrentDomain.BaseDirectory
您可以这样做:

    TextWriter textWriter = new StreamWriter("foldername\\Box.xml");

当您不添加任何内容时,将自动假定basedirectory。

解决方案资源管理器中显示的内容是项目中包含的内容,不一定显示所有文件。如果您正在为web开发,您可以尝试Server.MapPath以访问所需的目录。请参阅此线程,它有多个解决方案,什么样的解决方案使用此xml文件?(winform或WPF或Asp.net)您需要在Sln Explorer iirc中手动包含文件。