首页 > 解决方案 > 如何在 Startup.cs 中配置我自己的 NuGet 包

问题描述

我正在创建自己的 NuGet 包,为了使其正常工作,我需要一些配置,每个安装我的包的用户都将设置这些配置。

我注意到一些包Startup.cs主要是在ConfigureConfigureServices方法中配置的。

一个例子是这个 Swagger 包:

Startup.cs 中的 Swagger 配置

在上图中,它在一个 swagger 配置中配置 API 文档名称。我需要这样的东西。在我的包中的一个类中,它需要用户在启动文件中设置的信息。

标签: c#asp.net-core

解决方案


您在启动时看到的方法只是对IServiceCollection(for servicesin ConfigureServices) 或IApplicationBuilder(for appin Configure) 的扩展。换句话说,您只需创建如下内容:

public static class IServiceCollectionExtensions
{
    public static IServiceCollection ConfigureMyStuff(this IServiceCollection services, string someParam, string someOtherParam)
    {
        // do stuff

        return services;
    }
}

然后在 中Startup,用户将能够执行以下操作:

services.ConfigureMyStuff("some value for param", "some value for other param");

推荐阅读