I am running into issues with forwarding failed messages to error queue as ISendMessages was not configured.
I have the following sections in my app.config file
<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
<MessageForwardingInCaseOfFaultConfig ErrorQueue="nservicebus_error" />
<add key="ConnectivityRetryPeriod" value="30" />
<add key="FatalRetryCount" value="2" />
<add key="RetryFrequency" value="2" />
However, when the FatalRetryCount is exceeded, I get the following exception
System.InvalidOperationException occurred
Message=Could not forward failed message to error queue, reason: System.ArgumentException: NServiceBus.Unicast.Queuing.ISendMessages has not been configured. In order to avoid this exception, check the return value of the 'HasComponent' method for this type.
at NServiceBus.ObjectBuilder.Spring.SpringObjectBuilder.NServiceBus.ObjectBuilder.Common.IContainer.Build(Type typeToBuild)
at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBuilder.IBuilder.Build[T]()
at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason).
Source=NServiceBus.Core
StackTrace:
at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason)
InnerException: System.ArgumentException
Message=NServiceBus.Unicast.Queuing.ISendMessages has not been configured. In order to avoid this exception, check the return value of the 'HasComponent' method for this type.
Source=NServiceBus.ObjectBuilder.Spring
StackTrace:
at NServiceBus.ObjectBuilder.Spring.SpringObjectBuilder.NServiceBus.ObjectBuilder.Common.IContainer.Build(Type typeToBuild)
at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBuilder.IBuilder.Build[T]()
at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason)
In specific, this exception is logged in the following lien in the FaultManager.cs in the NServiceBus.Faults.Forwarder namespace

Here is the App.Config section and the Config code that I use


Got the fix to this issue from the NServiceBus support team and it looks like the ISendMessages gets registered when I explicitly call .MsmqTransport(). I updated the config code to call .MsmqTransport() and FaultManager stopped throwing this exception