C# 相对路径,可在控制台应用程序和ASP.NET Web应用程序中使用
是否可以指定相对于控制台和asp.net Web应用程序根目录的路径?所以C# 相对路径,可在控制台应用程序和ASP.NET Web应用程序中使用,c#,asp.net,C#,Asp.net,是否可以指定相对于控制台和asp.net Web应用程序根目录的路径?所以 对于控制台应用程序,它应该相对于.exe文件 对于ASP.NET Web应用程序,它应该相对于根Web.Config 示例:假设我有一个名为“log.txt”的文件。我在一个单独的dll中有一个日志组件,它在“logs”文件夹下使用这个log.txt。我有两个应用程序使用这个组件,一个是控制台应用程序,另一个是ASP.NET Web应用程序 是否可以在日志组件中指定相对路径,以便在以下位置找到文件 mywebapp/
- 对于控制台应用程序,它应该相对于.exe文件
- 对于ASP.NET Web应用程序,它应该相对于根Web.Config
-Web.Config
-bin/logging.dll
-其他web文件
-logs/log.txt myconsoleapp/
-myconsoleapp.exe
-logging.dll
-其他一些DLL
-logs/log.txt我建议做一点修改:
不要在日志组件中确定日志的路径。将其作为参数。在web应用程序上,您可以使用
Server.MapPath
()相对于绝对路径进行映射。使用AppDomain.CurrentDomain.BaseDirectory
参考:
- 公认的答案
- 第二个答案
这也是我唯一的想法。遗憾的是,我的问题要复杂得多,这个日志记录只是一个例子(我实际上试图为多个组件找到多个自定义配置文件)。我不能接受这一点,因为这不是我问题的答案,但我还是会投赞成票。你能做到什么?您可以在这些组件中进行更改吗?还有什么Web应用程序?我可以在组件中进行更改,它是一个ASP.NET应用程序。