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

如何在ASP.NET Core最小托管模型中设置HostingStartupAssembliesKey?

在ASP.NET Core 7.0最小托管模型中显式指定托管启动程序集

完全可以实现,虽然WebApplicationOptions没有提供直接配置项,但可以通过操作WebApplicationBuilder的宿主配置来完成,和环境变量实现的效果一致。

核心实现方式

直接修改宿主配置中的HostingStartupAssemblies项,把自定义DLL的程序集名称(不带.dll后缀)添加进去:

var builder = WebApplication.CreateBuilder(args);

// 显式指定托管启动程序集,多个程序集用分号分隔
builder.Host.ConfigureHostConfiguration(config =>
{
    config.AddInMemoryCollection(new Dictionary<string, string>
    {
        ["HostingStartupAssemblies"] = "YourCustomAssemblyName"
    });
});

// 后续服务、中间件配置逻辑
var app = builder.Build();
// ...
app.Run();

进阶:保留原有配置并追加程序集

如果需要保留环境变量中已配置的托管启动程序集,同时添加新的自定义程序集,可以先读取现有配置再拼接:

builder.Host.ConfigureHostConfiguration(config =>
{
    var existingAssemblies = config["HostingStartupAssemblies"] ?? string.Empty;
    var targetAssemblies = string.IsNullOrEmpty(existingAssemblies)
        ? "YourCustomAssemblyName"
        : $"{existingAssemblies};YourCustomAssemblyName";

    config.AddInMemoryCollection(new Dictionary<string, string>
    {
        ["HostingStartupAssemblies"] = targetAssemblies
    });
});

原理说明

WebApplicationBuilder的Host属性本质上还是基于传统的IHostBuilder,通过ConfigureHostConfiguration修改配置,和官方文档中IHostBuilder的实现逻辑完全同源,完美适配ASP.NET 6.0+的最小托管模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:20:11