【发布时间】:2015-04-04 05:00:57
【问题描述】:
我在下面的 C# 中为我的单线程应用程序创建了一个简单的 Logging 类。它有 3 个不言自明的公共方法(Clear()、Log() 和 Show())。当我在开发模式下运行程序时,它按预期工作。但是,当我部署和安装程序时,第一次调用 Log() 时出现以下错误。
System.UnauthorizedAccessException:
Access to the path 'C:\Program Files (x86)\programDir\log.txt' is denied.
我有什么遗漏吗?我不确定如何调试,因为它在开发模式下工作正常。
public static class Logger
{
private static string FilePath
{
get
{
return Path.Combine(Directory.GetCurrentDirectory(), "log.txt");
}
}
public static void Clear()
{
if (File.Exists(FilePath))
{
File.Delete(FilePath);
}
}
public static void Log(string sLine)
{
File.AppendAllLines(FilePath, new string[] { sLine });
}
public static void Show()
{
if (File.Exists(FilePath))
{
Process.Start(FilePath);
}
}
}
【问题讨论】:
标签: .net logging file-io access-denied