我在Winform应用程序中有以下代码
String[] lines = { "LAST MESSAGE", "101" };
File.WriteAllLines("MPP_Config.txt", lines);
在我的开发系统上,文件在Bin \ Debug ...
下创建在客户端系统中安装文件后,客户端在哪里创建文件?
我使用Click once Deployment ...
部署到一个网站答案 0 :(得分:4)
我相信它会在应用程序的当前工作目录中创建。应用程序可能无法访问此目录,尤其是在具有UAC,Vista和Windows 7的系统上。您应该考虑使用application data directory代替。
String[] lines = { "LAST MESSAGE", "101" };
String fileName = Path.combine(System.Deployment.Application.ApplicationDeployment.CurrentDeployment.DataDirectory,"MPP_Config.txt");
File.WriteAllLines(fileName, lines);
答案 1 :(得分:2)
我猜它是在调试文件夹中创建的,因为你一直在调试模式下运行它。如果您在发布模式下运行它,它将保存在bin / release文件夹中。
换句话说,它将在应用程序所在的目录中创建。为什么不试试呢?即将你的exe复制到...
答案 2 :(得分:1)
在current directory中。这意味着可能很难以100%的确定性进行预测。如果你想控制它,你可以使用Environment.CurrentDirectory
但是(正如Sam在评论中指出的那样)这可能不是一个好主意,因为其他代码也可能依赖于当前目录用于其他目的。
例如,以下程序将创建两个名为“somefile.txt”的不同文件(假设exe不是从c:\ temp目录运行的):
static void Main(string[] args)
{
File.WriteAllText("somefile.txt", "some text");
Environment.CurrentDirectory = @"c:\temp";
File.WriteAllText("somefile.txt", "some text");
}