You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core出现CS0266无法将IHost转换为IHostBuilder报错如何解决

问题原因

你的CreateHostBuilder方法声明的返回值类型是IHostBuilder,但你在方法链式调用的末尾额外加了.Build()方法,.Build()执行后返回的是IHost类型,和方法声明的返回类型不匹配,所以触发了CS0266类型转换错误。

修复方案

直接去掉ConfigureWebHostDefaults配置块末尾的.Build()调用即可,修正后的代码如下:

using System;
using System.Net;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Configuration;
namespace gradesApp {
    public class Program {
        public static void Main(string[] args) {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder => {
                    webBuilder
                    .UseKestrel(options => {
                                    options.Listen(IPAddress.Loopback, 5000);                    // http:localhost:5000
                                    options.Listen(IPAddress.Loopback, 5001, listenOptions => {  // https:localhost:5001
                                        listenOptions.UseHttps("certificate.pfx");
                                    });
                                    options.Listen(IPAddress.Any, 80);                           // http:*:80
                                    options.Listen(IPAddress.Any, 443, listenOptions => {        // https:*:443
                                        listenOptions.UseHttps("certificate.pfx");
                                    });
                                })
                    .UseStartup<Startup>();
                });
    }
}

补充HTTPS重定向配置建议

如果需要实现HTTP请求自动跳转到HTTPS,还需要补充对应中间件配置:

  • 在Startup类的ConfigureServices方法中注册重定向服务:
services.AddHttpsRedirection(options =>
{
    options.HttpsPort = 443;
});
  • 在Startup类的Configure方法最开头(路由中间件之前)添加重定向中间件:
app.UseHttpsRedirection();

内容的提问来源于stack exchange,提问作者rawr51919

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:36:03