Problem
Für die Bildoptimierung der statischen Dateien der .NET User Group Seite setzen wir Magick.NET ein. Für den Zugriff ist der absolute Verzeichnispfad nötig. Im klassischen Framework lässt sich der Ansatz mit System.Reflection.Assembly.GetExecutingAssembly() nutzen.
Aktion
In .NET Core bis 3.0 kann das Interface IWebhostingEnvironent ab .NET Core 3.0 das Interface IWebHostEnvironment genutzt werden.
Über den Konstruktor das Interface injizieren:
public class <Name>Controller : Controller { private readonly IWebHostEnvironment webHostEnvironment; public <Name>Controller(IWebHostEnvironment webHost) { this.webHostEnvironment = webHost; var wwwroot = this.webHostEnvironment.WebRootPath; } }
Mit der Eigenschaft WebRootPath wird der absolute Pfad verfügbar.
Resultat
Der absolute Pfad zu den statischen Dateien im wwwroot-Verzeichnis ist verfügbar.