我有一个控制台应用程序,它位于我的桌面上。我将其设置为定期运行,每隔20分钟运行一次,无限期地。我关闭了自动睡眠/休眠。然后我把我的PC开着并锁定了我的桌面,过了一个周末(2-3天)。
我的控制台应用程序是开发用来在捕获异常时向我发送电子邮件的。当我回来查看收件箱时,发现收到了几封包含以下内容的错误电子邮件:
“拒绝访问路径'C:\ WINDOWS \ system32 \ myLogs \' 似乎我的控制台应用程序是从
我的控制台应用程序是开发用来在捕获异常时向我发送电子邮件的。当我回来查看收件箱时,发现收到了几封包含以下内容的错误电子邮件:
“拒绝访问路径'C:\ WINDOWS \ system32 \ myLogs \' 似乎我的控制台应用程序是从
System32 而不是从我的 Desktop 运行。
问题: 为什么会这样呢?
这是我的创建 myLog 文件夹路径的字符串
var logpath = Directory.GetCurrentDirectory() + Properties.Settings.Default.LogPath;
这段代码检查文件夹是否存在,如果不存在则创建一个新的文件夹。
if (!Directory.Exists(logpath))
Directory.CreateDirectory(logpath);
我认为错误是在检查/创建文件夹时触发的。
我的应用程序应该在与控制台应用程序相同的目录中创建myLog
文件夹。
问:为什么它在System32
文件夹中运行?
System.Reflection.Assembly.GetExecutingAssembly().Location
。您可以为两者编写代码,例如首先尝试目录(1),如果失败,则尝试目录(2)。 - Serge