【发布时间】:2020-01-28 10:17:08
【问题描述】:
我正在从 netcore2.1 迁移到 netcore3.1。我有一个服务,我需要创建一个 IServiceProvider 并注入 IWebHostEnvironment(我曾经在 netcore2.1 中注入 IHostingEnvironment)。用于创建新 Microsoft.Extensions.Hosting.Internal.HostingEnvironment 实例的代码,但该类不再包含 WebRootPath。我获取了 git repo 并试图寻找 IWebHostEnvironment 的实现,但似乎唯一的实现是 aspnetcore 内部的,没有用。
是否有可能以某种方式创建 IWebHostEnvironment 的实例?
丹尼尔
【问题讨论】:
-
这可能是XY problem。如果您可以分享minimal reproducible example,那就太好了,这样我们就可以更清楚地了解当前的问题以及您实际上要做什么?这样我们就可以为新版本的代码提出一个替代方案。
-
你想做什么?该类是内部的,原因是应用程序的代码没有有效的方案来修改该类。您是否尝试在测试期间模拟 Web 根目录的位置?使用WebApplicationFactory。或者从不同的路径提供文件?这解释了here:将路径作为选项传递给
UseStaticFiles
标签: c# asp.net-core .net-core-3.1