Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 来自测试的Autofac注册表SemblyTypes_C#_Asp.net Core_Autofac_Autofac Module_Hangfire Autofac - Fatal编程技术网

C# 来自测试的Autofac注册表SemblyTypes

C# 来自测试的Autofac注册表SemblyTypes,c#,asp.net-core,autofac,autofac-module,hangfire-autofac,C#,Asp.net Core,Autofac,Autofac Module,Hangfire Autofac,在我的启动I类中,有一种通过autofac注册SemblyTypes的方法,如下所示: 公共类启动 { 公共void配置容器(ContainerBuilder生成器) { RegisterModule(新的ApplicationModule()); } } 公共类应用程序模块:Autofac.Module { 受保护的覆盖无效负载(ContainerBuilder builder) { 建设者 .RegisterAssemblyTypes( typeof(EventHandler.GetType

在我的
启动
I类中,有一种通过autofac注册SemblyTypes的方法,如下所示:

公共类启动
{
公共void配置容器(ContainerBuilder生成器)
{
RegisterModule(新的ApplicationModule());
}
}
公共类应用程序模块:Autofac.Module
{
受保护的覆盖无效负载(ContainerBuilder builder)
{
建设者
.RegisterAssemblyTypes(
typeof(EventHandler.GetTypeInfo().Assembly)
.A.闭合类型(类型(集成文特德勒));
}
}
当从集成测试中调用
启动
类时,使用
Autofac
(例如,
RegisterAssemblyTypes
)注册程序集的建议方法是什么;e、 g

公共类集成TestApplicationFactory:WebApplicationFactory
{ }
我正在使用Autofac 4.9.4

问题:
如何使用
Autofac
WebApplicationFactory
中注册程序集类型

由于文档不完整以及
Autofac
维护人员的支持非常差,我们决定在我们研究所的所有项目中恢复使用
Autofac

现在,我们使用ASP.NET Core的内置注册,当在以下任一方法中调用时,该注册将正常工作:

public class IntegrationTestApplicationFactory : WebApplicationFactory<Startup>
{
    protected override IHost CreateHost(IHostBuilder builder)
    {
        // register services here,
        // or in the ConfigureWebHost method
    }

    protected override void ConfigureWebHost(IWebHostBuilder builder)
    {
        builder.ConfigureServices(services =>
        {
            services.AddTransient<YourServiceType>();
        }
    }
}
公共类集成TestApplicationFactory:WebApplicationFactory
{
受保护的覆盖IHost CreateHost(IHostBuilder)
{
//在这里注册服务,
//或在ConfigureWebHost方法中
}
受保护的覆盖无效配置WebHost(IWebHostBuilder)
{
builder.ConfigureServices(服务=>
{
services.AddTransient();
}
}
}

您可以看看这个GitHub,以及at和articlesany的任何具体示例?WebApplicationFactory的目的不是加载一个“假”服务器,但使用的是相同的容器配置吗?您能描述一下运行此代码时看到的问题吗?我正试图通过test proje中的autofac注册一个程序集类型我通常从
Startup
中名为
ConfigureContainer(ContainerBuilder builder)
的方法调用
builder.RegisterModule(new ApplicationModule())
。我的问题是如何调用类似的方法从
WebApplicationFactory
注册程序集。