How to do it?
I don\'t want to use this:
HttpContext.Current.Server.MapPath
Is there a similar function that I can call without req
There are several options:
HttpRuntime.AppDomainAppPath
WebApplication -> Web root folder
UnitTest -> ArgumentNullException
ConsoleApplication -> ArgumentNullException
AppDomain.CurrentDomain.BaseDirectory
WebApplication -> Web root folder
UnitTest -> ...\AppDir\bin\Debug
ConsoleApplication -> ...\AppDir\bin\Debug
HostingEnvironment.ApplicationPhysicalPath
WebApplication -> Web root folder
UnitTest -> null
ConsoleApplication -> null
I would recommend to use AppDomain.CurrentDomain.BaseDirectory, because it can be used in any type of project and it can be set up.
You can for example set UnitTest BaseDirectory to point your web root folder the AppDomain.CurrentDomain.BaseDirectory by command:
AppDomain.CurrentDomain.SetData("APPBASE", "path to your web root");