Вам нужно просто позволить IoC делать то, что он делает, и вводить ваши зависимости для вас ...
ObjectFactory.Initialize( x =>
{
x.ForRequestedType<SqlPlusSettings>().TheDefaultIsConcreteType<SqlPlusSettings>().AsSingletons;
x.ForRequestedType<ISchemaExecutor>().TheDefaultIsConcreteType<SchemaExecutor>();
});
SqlPlusSettings sqlPlusSettings = GetSqlPlusSettings();
ObjectFactory.Inject<SqlPlusSettings>(sqlPlusSettings);
То, как у вас это происходит здесь без AutoWiring, я думаю, что избыточная строка для SqlPlusSettings необходима для того, чтобы StructureMap знал об этом. Но по сути SM знает как о SchemaExecutor, так и о SqlPlusSettings, и при создании экземпляра SchemaExecutor он ищет параметры, видит, что SqlPlusSettings является одиночным, и он уже есть, и передает его для создания экземпляра SchemaExecutor.