Here’s some notes about breaking changes we ran into upgrading from 1.9 to 2.0 of NServiceBus.

  • The distributor. This was mostly due to the fact that we had our own TopShelf implementation and had to remove that stuff.
  • The auto loading of message handlers now throws on dll’s and exe’s that are not .net assemblies. I think this is better, but some of our projects reference native dll’s and so we changed our code to explicitly load the needed assemblies with the Configure.With(params Assemblies[] assemblies) overload.
  • Configuration Files. A lot of code was moved from NServiceBus.dll to NServiceBus.Core.dll and the config references need to be updated to reflect that. This was often resulting in “ComponentActivator: could not instantiate NServiceBus.Unicast.UnicastBus” errors. Mostly this was a problem for us regarding logging, but I think many of the other configuration section handlers moved to NServiceBus.Core too.
    • Common.Logging.ConfigurationSectionHandler, NServiceBus.Core
    • Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, NServiceBus.Core
  • Installing into our existing WindsorContainer. This was a fairly easy and welcome change, consisting of mostly deleting code and passing our container in the Configure.With().CastleWindsorBuilder(containerInstance) method.