我有将文件保存在目录
中的文件夹中的代码string timestamp = DateTime.Now.ToString("MM-dd-yyyy.HH-mm-ss");
var file = File.Create("Owe-Data.txt" + timestamp);
var com = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase + timestamp + @"\Data" + file;
MessageBox.Show(com);
if (!Directory.Exists(com))
{
Directory.CreateDirectory(com);
}
using (var sw = new StreamWriter(com))
{
sw.WriteLine(InputData);
}
}
我显示COM它给出路径bt我看不到该路径上的Data文件夹或Owe-Data文件 任何人都可以告诉为什么会发生这种情况,或者我应该将Data文件夹保存在这个prgram运行的当前目录中?但我不知道如何到达那条道路。有解决方案?? 在Windows Phone 5上工作,visual studio 2008 .NET framwork 2.0
答案 0 :(得分:1)
根据documentation的例外部分,
时会抛出上述异常ArgumentException -------文件夹不是System.Environment.SpecialFolder的成员。
这意味着您运行此命令的OS
没有Environment.SpecialFolder.CommonApplicationData
作为特殊文件夹之一。
知识,
Environment.SpecialFolder.ApplicationData
是最常见的一个。此文件夹包含除用户文档之外的每用户非临时应用程序特定数据。一个常见的例子是设置或配置文件。
Environment.SpecialFolder.CommonApplicationData
类似,但在用户之间共享。例如,您可以使用它来存储文档模板。
Environment.SpecialFolder.LocalApplicationData
是ApplicationData
的非漫游替代方案。因此,您永远不会在那里存储重要数据。但是,因为它是非漫游的,所以它是临时文件,缓存等的好位置。它通常位于本地磁盘上。
我认为问题可能是 Environment.SpecialFolder.CommonApplicationData
很常见且在不同用户之间共享,而您登录的user
没有rights to access the folder
或Visual Studio
尚未以Admin
模式启动。
编辑查看link并尝试添加Common AppData
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\
答案 1 :(得分:0)
鉴于您根据标签询问.NET Windows Phone应用程序
我认为您的问题是.NET Windows Phone应用程序无法直接访问文件系统;它只能通过设计访问IsolatedStorage。
我会引用一个微软的来源,但我似乎找不到一个!
修改强> 请参阅MSDN中的this article