我有一个要求,我必须将日志文件放在解决方案的同一目录中。那是我的解决方案放在[drive] \ work \ Project1 \ solution文件中。但我必须创建我的日志文件到[drive] \ work \ Project1 \ Log \ log.log。如何在app.config文件中设置它。 请帮我。提前谢谢......
答案 0 :(得分:3)
如果您采用Visual Studio目录布局,那么您的程序将位于[drive] \ work \ Project1 \ bin \ Release \(或可能是\ Debug)中。并且您希望您的日志文件位于[drive] \ work \ Project1 \ Log。
目录中该目录与[drive]\work\Project1\bin\Release\..\..\Log\
因此,一种方法是获取执行程序的完整路径名,解压缩目录,然后附加.... \ Log。像这样:
using System.IO; // for Path class
using System.Windows.Forms; // for Application.ExecutablePath
...
string GetLogFilePath()
{
string ProgramPath = Path.GetDirectory(Application.ExecutablePath);
string LogPath = Path.Combine(ProgramPath, @"\..\..\Log\");
return LogPath;
}
如果您不想包含System.Windows.Forms,则可以改为包含System.Reflection并使用Assembly.GetExecutingAssembly()获取程序集的位置。位置。