Search code examples
nservicebusnservicebus5

Unable to install NServiceBus ServiceControl with SqlServerTransport


I am trying to install NServiceBus ServiceControl with SqlServerTransport.

I have coded a proof of concept messaging application using

  • NServiceBus version="5.0.0"
  • NServiceBus.SqlServer version="2.1.1"

And would now like to see how ServicePulse works and this requires ServiceControl.

I have read the instructions at http://docs.particular.net/servicecontrol/multi-transport-support which state

Only transport DLLs targetting NServiceBus V4 should be used.

Does this mean ServiceControl cannot work with NServiceBus V5?

I have tried to install ServiceControl with NServiceBus.SqlServer version="2.1.1"

I ran the following

ServiceControl.exe --install 
  -serviceName="Particular.ServiceControl" 
  -displayName="Particular ServiceControl" 
  -d="ServiceControl/TransportType==NServiceBus.SqlServerTransport, NServiceBus.Transports.SQLServer" 
  -d="NServiceBus/Transport==Server=.\SQL2012;Database=NServiceBus;Trusted_Connection=True"

but I get the error

We couldn't find a IConfigureTransport implementation for your selected transport

Unhandled Exception: System.InvalidOperationException: We couldn't find a IConfigureTransport implementation for your selected transport: SqlServerTransport
  at NServiceBus.TransportReceiverConfig.CreateTransportConfigurer(Type transportDefinitionType)
   in c:\BuildAgent\work\1b05a2fea6e4cd32\src\NServiceBus.Core\Unicast\Transport\Config\TransportReceiverConfig.cs:line 83
  at Particular.ServiceControl.Bootstrapper..ctor(ServiceBase host, HostArguments hostArguments) 
   in c:\BuildAgent\work\2c4c51d06662248c\src\ServiceControl\Bootstrapper.cs:line 47
  at Particular.ServiceControl.Commands.RunBootstrapperAndNServiceBusInstallers.Execute(HostArguments args) 
   in c:\BuildAgent\work\2c4c51d06662248c\src\ServiceControl\Hosting\Commands\RunBootstrapperAndNServiceBusInstallers.cs:line 12
  at Particular.ServiceControl.Commands.CommandRunner.Execute(HostArguments args) 
   in c:\BuildAgent\work\2c4c51d06662248c\src\ServiceControl\Hosting\Commands\CommandRunner.cs:line 19
  at Particular.ServiceControl.Program.Main(String[] args) 
   in c:\BuildAgent\work\2c4c51d06662248c\src\ServiceControl\Program.cs:line 15 

Has anyone successfully run ServiceControl with a V5 version of the SQL Transport?


Solution

  • You need to use the version listed in http://docs.particular.net/servicecontrol/multi-transport-support

    The reason is because ServiceControl is not compatible with any other version.

    This has no impact on what version your endpoints are running under, so your endpoints can be running NServiceBus v5 with NServiceBus.SqlServer v2.1.1, and that is fine, ServiceControl will be able to operate correctly even-though it uses a different NServiceBus and NServiceBus.SqlServer versions.

    Does this make sense ?


    If you have any further questions feel free to ask us in our forum at https://groups.google.com/forum/#!forum/particularsoftware