Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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# 在WriteXml(文件名,writemode)上,文件名存储在哪里?如何在.exe程序目录中创建文件?_C#_Filenames - Fatal编程技术网

C# 在WriteXml(文件名,writemode)上,文件名存储在哪里?如何在.exe程序目录中创建文件?

C# 在WriteXml(文件名,writemode)上,文件名存储在哪里?如何在.exe程序目录中创建文件?,c#,filenames,C#,Filenames,这几乎就是主题 我正好有这个 tabelaEC0.WriteXml("config.xml" , XmlWriteMode.WriteSchema); 我想知道config.xml文件存储在哪里,因为我没有提供完整路径, 还有一些人在字符串前使用@,这是为什么 如何创建.xml文件,使其正好位于最终程序的可执行文件目录中 (Winforms) 更新!: 我现在知道它为什么不起作用了,我试图在程序结束时保存一个文件 private void Form1_FormClosed(object

这几乎就是主题 我正好有这个

tabelaEC0.WriteXml("config.xml" , XmlWriteMode.WriteSchema);    
我想知道config.xml文件存储在哪里,因为我没有提供完整路径, 还有一些人在字符串前使用@,这是为什么

如何创建.xml文件,使其正好位于最终程序的可执行文件目录中

(Winforms)

更新!:

我现在知道它为什么不起作用了,我试图在程序结束时保存一个文件

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{ tabelaEC0.WriteXml(currentdirectory , XmlWriteMode.WriteSchema);   
  Application.Exit();
}     
在这种情况下,它根本不保存文件(用另一个按钮尝试,效果很好)
所以问题是Form1 close,有什么提示吗?

默认情况下,它应该写在应用程序的启动文件夹中。但是,如果您已经打开了OpenFileDialog或SaveFileDialog,则可能会发生变化。要确保文件已写入应用程序文件夹,可以使用以下方法:

string path = Path.Combine(Application.StartupPath, "config.xml");
tabelaEC0.WriteXml(path, XmlWriteMode.WriteSchema);    

WinForms、WPF或控制台应用程序?我编辑这个问题是为了说明它是WinForms,它与其他类型有区别吗?tabelaEC0是什么类型的?我假设路径来自
System.Environment.CurrentDirectory
。字符串前的@before转义反斜杠(),因此@“C:\users”等于“C:\\users”。tabelaEC0是一个数据表,这就是您所问的吗?如果我使用
System.Environment.CurrentDirectory
而不是
“config.xml”
它会有什么文件名?它是否缺少文件名?请在WinForm上添加一个标签,并将
System.Environment.CurrentDirectory
写入其中。根据您的环境设置,我希望它要么是保存源文件的目录,要么是生成的
.exe
所在的目录。当然,假设您不是简单地运行.exe,而是使用visual studio运行,config.xml将在哪里?是不是迷路了?我相信我见过一些只写文件名的例子