MVC 核心 5 中的 IWebHostingEnvironment CS0051

问题描述

我已经看到了其他 CS0051 问题的答案,但它们都围绕着人们编写的代码展开。这个问题是关于实现框架库中的项目,我无法控制它们的创建。所以......你的标准 MVC Core 5 控制器,作为脚手架的结果,看起来像......

 public class HomeController : Controller
 {

我想访问一个主机文件夹以显示索引操作中的图像,所以我使用了:

    private readonly IHostingEnvironment _env;

和构造函数...

public HomeController(IWebHostingEnvironment env,ApplicationDbContext context,ILogger<HomeController> logger)
        {

但是编译器说,“嘿,伙计,那会过时的,所以不如试试 IWebHostingEnvironment,嗯?

好的,所以...

    private readonly IWebHostingEnvironment _env;

然后它扇了你一巴掌说:

CS0051:严重性代码描述项目文件行抑制状态 错误 CS0051 不一致的可访问性:参数类型“IWebHostingEnvironment”比方法“HomeController.HomeController(IWebHostingEnvironment)”CoolestProjectNameEver 更难访问 C:\Users\Robert\Projects\CoolestProjectNameEver\Controllers\HomeController.cs 24 活动

现在,我没有写 IWebHostingEnvironment。其指定的访问权限是内部。标准控制器是公共

如果 IWebHostingEnvironment 是前进的方向,那么控制器中该接口的正确用法是什么?

[编辑] 好吧,现在这很奇怪。现在,我发现 IWebHostingEnvironment 不正确,我应该使用 IWebHostEnvironment - 有了这个改变,没有问题。这里到底发生了什么?我觉得很奇怪,开发环境不仅允许我尝试 IWebHostingEnvironment,而且还建议它。我什至不能尝试回到 IWebHostingEnvironment,因为它现在似乎不存在...[开始编写阴谋论...现在...]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)