多个问题阻碍了用户注册 API 与 Docker 配置的兼容性

作者: YtimoDeng创建于 2025年12月22日更新于 2025年12月22日

Issue 1: Missing RegistrationsAutofacModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for RegistrationsAutofacModule, causing dependency injection to fail when resolving IRegistrationsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Registrations.Application.Contracts.IRegistrationsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new RegistrationsAutofacModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Registrations;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Registrations/RegistrationsAutofacModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Registrations.Application.Contracts;
using CompanyName.MyMeetings.Modules.Registrations.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Registrations
{
public class RegistrationsAutofacModule : Module
{
…
}

Issue 2: Missing UserAccessAutofacModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for UserAccessAutofacModule, causing dependency injection to fail when resolving IUserAccessModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.UserAccess.Application.Contracts.IUserAccessModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new UserAccessAutofacModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.UserAccess;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/UserAccess/UserAccessAutofacModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.UserAccess.Application.Contracts;
using CompanyName.MyMeetings.Modules.UserAccess.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.UserAccess
{
public class UserAccessAutofacModule : Module
{
…
}

Issue 3: Missing PaymentsAutofacModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for PaymentsAutofacModule, causing dependency injection to fail when resolving IPaymentsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Payments.Application.Contracts.IPaymentsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new PaymentsAutofacModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Payments;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Payments/PaymentsAutofacModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Payments.Application.Contracts;
using CompanyName.MyMeetings.Modules.Payments.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Payments
{
public class PaymentsAutofacModule : Module
{
…
}

Issue 4: Missing MeetingsAutofacModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for MeetingsAutofacModule, causing dependency injection to fail when resolving IMeetingsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Meetings.Application.Contracts.IMeetingsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new MeetingsAutofacModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Meetings;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Meetings/MeetingsAutofacModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Meetings.Application.Contracts;
using CompanyName.MyMeetings.Modules.Meetings.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Meetings
{
public class MeetingsAutofacModule : Module
{
…
}

Issue 5: Missing AdministrationAutofacModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for AdministrationAutofacModule, causing dependency injection to fail when resolving IAdministrationModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Administration.Application.Contracts.IAdministrationModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new AdministrationAutofacModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Administration;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Administration/AdministrationAutofacModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Administration
{
public class AdministrationAutofacModule : Module
{
…
}

Issue 6: Missing MeetingsModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for MeetingsModule, causing dependency injection to fail when resolving IMeetingsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Meetings.Application.Contracts.IMeetingsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new MeetingsModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Meetings;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Meetings/MeetingsModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Meetings.Application.Contracts;
using CompanyName.MyMeetings.Modules.Meetings.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Meetings
{
public class MeetingsModule : Module
{
…
}

Issue 7: Missing AdministrationModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for AdministrationModule, causing dependency injection to fail when resolving IAdministrationModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Administration.Application.Contracts.IAdministrationModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new AdministrationModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Administration;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Administration/AdministrationModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Administration
{
public class AdministrationModule : Module
{
…
}

Issue 8: Missing UserAccessModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for UserAccessModule, causing dependency injection to fail when resolving IUserAccessModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.UserAccess.Application.Contracts.IUserAccessModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new UserAccessModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.UserAccess;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/UserAccess/UserAccessModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.UserAccess.Application.Contracts;
using CompanyName.MyMeetings.Modules.UserAccess.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.UserAccess
{
public class UserAccessModule : Module
{
…
}

Issue 9: Missing PaymentsModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for PaymentsModule, causing dependency injection to fail when resolving IPaymentsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Payments.Application.Contracts.IPaymentsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new PaymentsModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Payments;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Payments/PaymentsModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Payments.Application.Contracts;
using CompanyName.MyMeetings.Modules.Payments.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Payments
{
public class PaymentsModule : Module
{
…
}

Issue 10: Missing RegistrationsModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for RegistrationsModule, causing dependency injection to fail when resolving IRegistrationsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Registrations.Application.Contracts.IRegistrationsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new RegistrationsModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Registrations;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Registrations/RegistrationsModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Registrations.Application.Contracts;
using CompanyName.MyMeetings.Modules.Registrations.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Registrations
{
public class RegistrationsModule : Module
{
…
}

Issue 11: Missing MeetingsModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for MeetingsModule, causing dependency injection to fail when resolving IMeetingsModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Meetings.Application.Contracts.IMeetingsModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new MeetingsModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Meetings;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Meetings/MeetingsModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Meetings.Application.Contracts;
using CompanyName.MyMeetings.Modules.Meetings.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Meetings
{
public class MeetingsModule : Module
{
…
}

Issue 12: Missing AdministrationModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for AdministrationModule, causing dependency injection to fail when resolving IAdministrationModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule(new MeetingsAutofacModule());
containerBuilder.RegisterModule(new AdministrationAutofacModule());
containerBuilder.RegisterModule(new UserAccessAutofacModule());
containerBuilder.RegisterModule(new PaymentsAutofacModule());
// Missing: RegistrationsAutofacModule
}

Error: System.InvalidOperationException: Unable to resolve service for type 'CompanyName.MyMeetings.Modules.Administration.Application.Contracts.IAdministrationModule'

Proposed Fix: Add the missing module registration:

csharp
containerBuilder.RegisterModule(new AdministrationModule());

Also need to add the using statement at the top of Startup.cs:

csharp
using CompanyName.MyMeetings.API.Modules.Administration;

And create the missing file src/API/CompanyName.MyMeetings.API/Modules/Administration/AdministrationModule.cs:

csharp
using Autofac;
using CompanyName.MyMeetings.Modules.Administration.Application.Contracts;
using CompanyName.MyMeetings.Modules.Administration.Infrastructure;
namespace CompanyName.MyMeetings.API.Modules.Administration
{
public class AdministrationModule : Module
{
…
}

Issue 13: Missing UserAccessModule Registration in Startup.cs

Location: src/API/CompanyName.MyMeetings.API/Startup.cs (Line 82-88) Problem: The ConfigureContainer method is missing the registration for UserAccessModule, causing dependency injection to fail when resolving IUserAccessModule. Current Code:

csharp
public void ConfigureContainer(ContainerBuilder containerBuilder

内容来源: kgrzybek/modular-monolith-with-ddd