Windows应用程序的工作文件应该写在哪里?

时间:2009-11-14 20:25:39

标签: c# .net windows file

如果您的Windows应用程序需要在正常操作中编写工作文件(不是由用户提示):

  • 文件系统应该写在哪里?
  • 在.NET中为所有Windows版本(XP / V / 7 / Server)获取此目录的正确方法是什么?

(写入与可执行文件相同的目录或“temp”目录不适合我的具体情况。)

5 个答案:

答案 0 :(得分:5)

最常见的地方是:

string path = Environment.GetFolderPath(
      Environment.SpecialFolder.ApplicationData);

但是还有其他值可以使用Environment.SpecialFolder。当然还有用户的Documents文件夹。

你说你不想要一个Temp文件,但如果你需要一个会话,

 string path = System.IO.Path.GetTempFileName();

非常有用。

答案 1 :(得分:5)

另一个选项是Isolated StorageIntro。)它可以按照程序集,每台计算机,每个用户以及上述任意组合使用。

答案 2 :(得分:3)

之前已经在Stackoverflow上询问并回答过这个问题。检查以下两个问题:

My winform app uses xml files to store data, where should I store them so Vista users can write to them?

Windows Standard File Locations

答案 3 :(得分:2)

Environment.SpecialFolder.LocalApplicationData将是.NET的做法。

答案 4 :(得分:1)

是的,在AppData下(通常是%APPDATA%\ [公司名称] \ [应用程序名称] - %APPDATA%的位置在XP和Vista / 7之间是不同的,所以一定要使用抽象层并且不要' t硬编码路径)是标准位置。请拜托,请不要将它们放在Program Files下。