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

添加ASP.NET Core Web API时遇System.ServiceModel加载异常求助

问题分析与解决方案

问题根源

你使用的Microsoft.AspNet.WebApi.OwinSelfHost是**传统ASP.NET(非Core)**的自托管包,和ASP.NET Core框架完全不兼容。该包依赖.NET Framework专属的WCF组件(System.ServiceModel系列),而ASP.NET Core基于.NET Core/.NET 5+运行时,两者依赖体系不匹配,因此会出现一系列程序集缺失、类型加载失败的错误。

正确解决方案:使用ASP.NET Core原生自托管方式

ASP.NET Core自带完整的Web API自托管能力,无需依赖旧版ASP.NET的包,步骤如下:

  1. 适配项目类型:如果是现有非ASP.NET Core项目(如控制台应用),需添加ASP.NET Core相关依赖;如果是新项目,直接创建ASP.NET Core Web API模板项目。

  2. 编写自托管代码:

    var builder = WebApplication.CreateBuilder(args);
    
    // 注册Web API服务
    builder.Services.AddControllers();
    
    var app = builder.Build();
    
    // 配置请求管道
    app.UseRouting();
    app.UseAuthorization();
    // 映射API控制器路由
    app.MapControllers();
    
    // 启动服务,监听指定端口
    app.Run("http://localhost:8080");
    
  3. 依赖说明:ASP.NET Core 6+项目默认已包含Microsoft.AspNetCore.App元包,无需额外安装其他组件;若为更早版本,需手动添加该元包引用。

旧方法不可行的原因

HttpSelfHostConfiguration属于旧版ASP.NET Web API(System.Web.Http)的API,绑定.NET Framework的WCF运行时组件。ASP.NET Core是完全重构的跨平台框架,不兼容这些.NET Framework专属的API和依赖,强行混用必然导致依赖冲突与加载失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:52:40