WithDefaultConventions является важной частью показанного кода, потому что с этим параметром вы говорите StructureMap, чтобы использовать соглашение о сопоставлении IUserRepository с UserRepository. Поэтому StructureMap исходит из предположения, что класс назван как имя интерфейса без префикса I.

ли способ в StructureMap для такого рода повторяющихся отображений с одной линией или соглашением?

    For<IRepository<Mailout>>().Use<MailoutRepository>();
    For<IRepository<MailServer>>().Use<MailServerRepository>();
    For<IRepository<MailoutStatus>>().Use<MailoutStatusRepository>();
    For<IRepository<MailoutTemplate>>().Use<MailoutTemplateRepository>();
    For<IRepository<Publication>>().Use<PublicationRepository>();
    For<IRepository<Recipient>>().Use<RecipientRepository>();

Ответы на вопрос(1)

Ваш ответ на вопрос