WebRootPath in DXP

Vote:
 

Hello,
I'm having trouble getting the WebRootPath to work in DXP, Optimizely 12.
In startup.cs im using this code and it returns an empty string

var epiWebHostingEnvironment = app.ApplicationServices.GetRequiredService<IWebHostingEnvironment>();
epiWebHostingEnvironment.WebRootPath


Same thing in a scheduled job

private readonly EPiServer.Web.IWebHostingEnvironment _env;
if(string.IsNullOrEmpty(_env.WebRootPath))
{
 return "Job terminated. WebRootPath is empty!";
}
#338045
May 08, 2025 6:22
Vote:
 

Is this an upgraded project from CMS11? In many cases those lack a wwwroot folder which is what WebRootPath will look for. In that case, either specify the path in your startup or use ContentRootPath instead.

#338047
May 08, 2025 11:53
Vote:
 

Try IWebHostEnvironment.WebRootPath (from the Microsoft.AspNetCore.Hosting namespace).

#338307
Edited, May 18, 2025 19:15
Tomas - May 20, 2025 5:49
I’ve already tried that, but it didn’t work in DXP.
Stefan Holm Olsen - May 20, 2025 6:01
That's interesting. I have a site in DXP that use it many places. Do you have custom initialization code in Program.cs?
Vote:
 

And also, you can inject IWebHostEnvironment in the Startup constructor, capture it in a private field for use in the ConfigureServices method. Probably also in the Configure method.

#338308
May 18, 2025 19:19
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.