如果您的Windows应用程序需要在正常操作中编写工作文件(不是由用户提示):
(写入与可执行文件相同的目录或“temp”目录不适合我的具体情况。)
答案 0 :(得分:5)
最常见的地方是:
string path = Environment.GetFolderPath(
Environment.SpecialFolder.ApplicationData);
但是还有其他值可以使用Environment.SpecialFolder。当然还有用户的Documents
文件夹。
你说你不想要一个Temp文件,但如果你需要一个会话,
string path = System.IO.Path.GetTempFileName();
非常有用。
答案 1 :(得分:5)
另一个选项是Isolated Storage(Intro。)它可以按照程序集,每台计算机,每个用户以及上述任意组合使用。
答案 2 :(得分:3)
之前已经在Stackoverflow上询问并回答过这个问题。检查以下两个问题:
答案 3 :(得分:2)
Environment.SpecialFolder.LocalApplicationData
将是.NET的做法。
答案 4 :(得分:1)
是的,在AppData下(通常是%APPDATA%\ [公司名称] \ [应用程序名称] - %APPDATA%的位置在XP和Vista / 7之间是不同的,所以一定要使用抽象层并且不要' t硬编码路径)是标准位置。请拜托,请不要将它们放在Program Files下。