c# - 将文件写入 Common Application Data 文件夹被拒绝

标签 c# .net permissions

我使用了以下函数将数据写入用户应用程序文件夹

private void WriteToLog(string source, string method, string msg)
{

 string LogFile =Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\test";            
 LogFile = LogFile + "\\Log.txt";
 StreamWriter sw = new StreamWriter(LogFile, true );
 string str = DateTime.Now.ToString() + "source=" + source + "\t Method=" + method + "\t" + msg;
sw.WriteLine(str);
sw.Flush();
sw.Close();
}

上述代码在管理员帐户中运行完美,但在有限的用户帐户中失败

最佳答案

受限用户通常没有对所有用户共有的文件夹的写入权限。您确定不是要写入其他文件夹吗?

例如,您可以使用 Environment.SpecialFolder.ApplicationData(当前用户,漫游数据)或 Environment.SpecialFolder.LocalApplicationData(当前用户,非漫游数据) .

关于c# - 将文件写入 Common Application Data 文件夹被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1475964/

相关文章:

ruby-on-rails - S3存储桶的基本AWS IAM权限

php -/usr/local/bin/中 Composer 的权限被拒绝

c# - Knockoutjs 可观察数组到 List<string>

c# - NUnit - 并行单元测试两个单独的测试

c# - 模拟函数未返回预期值

.net - 使用 Sustainsys/Saml2 将 .NET MVC 应用程序与 SAML 联合起来

c# - 为什么在 MVC5 中 Optional 参数值会自动填充路由数据?

c# - OpenSSL中的VC-WIN32-ONECORE是什么意思?

.net - 如何编写像 Google 或 Yahoo 一样轻量级的 Web 部件

linux - gcc 编译的二进制文件给出 "cannot execute binary file"