-3

假设我有以下场景。我有我的应用程序驻留在

D:\MyWinForm\

我有

D:\MyWinForm\DAL

D:\MyWinForm\BLL

D:\MyWinForm\Program.cs

D:\MyWinForm\Form1.cs

D:\MyWinForm\App.config

D:\MyWinForm\ErrorLog\ErrorLog.txt

在 DAL 文件夹 (D:\MyWinForm\DAL) 我有一个Dal.cs文件

D:\MyWinForm\DAL\Dal.cs

在这个文件中,我有一个需要返回的函数

"D:\MyWinForm\ErrorLog\ErrorLog.txt" 此路径为字符串。

我在这里经历了很多问题。但找不到合适的答案

4

2 回答 2

2

您的大多数问题都无关紧要,因为您不应该关心实际cs文件,编译时无关紧要,看起来您可以做到

Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"ErrorLog","ErrorLog.txt");

但请注意,不是每个人都可以访问程序的目录,您可能希望研究使用应用程序数据文件夹

于 2013-07-19T09:49:00.100 回答
1

编辑:

将日志路径存储在app.config文件中是常见且良好的做法。然后,您消除了日志路径与应用程序路径相关的问题。例如:

<?xml version="1.0" encoding="utf-8" ?>   
<configuration>    
  <appSettings>
    <add key="LogPath" value="C:\Logs"/>
  </appSettings>   
</configuration>

然后从代码中加载此路径,如下所示。

string logPath = ConfigurationManager.AppSettings["LogPath"];

现在你有一个集中的地方来存储你的日志。

此外,我建议查看log4net。它是一个流行的 .NET 日志框架。


private string GetErrorLogPath()
{
    return Path.GetFullPath(@".\ErrorLog\ErrorLog.txt")
}

Path.GetFullPath

于 2013-07-19T09:43:51.190 回答