相对路径,可在控制台应用程序和ASP.NET Web应用程序中使用

时间:2014-02-17 15:17:02

标签: c# asp.net

是否可以指定相对于控制台和asp.net webapplication的根目录的路径?所以

  • 对于控制台应用程序,它应该相对于.exe文件
  • 对于ASP.NET Web应用程序,它应该相对于根Web.Config

示例:假设我有一个名为" log.txt"的文件。我在一个单独的dll中有一个日志记录组件,它在" logs"下使用了这个log.txt。夹。我有两个使用此组件的应用程序,一个是控制台应用程序,另一个是ASP.NET Web应用程序。

是否可以在日志记录组件中指定相对路径,以便在以下位置找到该文件?:

mywebapp /
-Web.Config
-bin / logging.dll
其他网络文件
-logs /的 log.txt的

myconsoleapp /
-myconsoleapp.exe
-logging.dll
- 其他一些dll
-logs /的 log.txt的

2 个答案:

答案 0 :(得分:3)

使用AppDomain.CurrentDomain.BaseDirectory

参考:

答案 1 :(得分:1)

我建议稍作改动:

不要在日志记录组件中确定日志的路径。将其作为参数。在webàpplication上,您可以使用Server.MapPathMSDN Server.MapPath Method)相对于绝对路径进行映射。