我对C#有些新手,但对编码本身并不陌生。我目前正在尝试编写一个控制台应用程序来运行某些进程,从这些进程收集信息,然后将值写入.txt文件。
我在Visual Studio 2017 RC中运行顺畅,但是当我发布并运行程序时,除了将值/数据发布到桌面上的文档之外,所有内容都会运行。有人可以指出我正确的方向或告诉我为什么它在Visual中工作但不在程序中?
public static bool WriteData(string DataNeeded)
{
string Root = @"\text.txt";
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + Root;
if (!File.Exists(path))
{
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine("Header of TXT file");
sw.WriteLine("Document created: " + DateTime.Now);
}
}
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("Data being written to text file: " + DataNeeded+ " " + DateTime.Now);
}
return true;
}
答案 0 :(得分:3)
我不相信解决方案很简单。我使用的是逻辑桌面空间参考,而不是使用文件系统位置
string Root = @"\text.txt";
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + Root;
上面的SpecialFolder.Desktop应该是:
string Root = @"\text.txt";
string path = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + Root;