Host fails to start due to System.Reflection.ReflectionTypeLoadException
The host does not start and the console or log contains the following exception message:
System.Reflection.ReflectionTypeLoadException Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
Details:
Fatal,NServiceBus.Hosting.Windows.WindowsHost,Start failure,"System.Reflection.ReflectionTypeLoadException Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.Assembly.GetTypes()
at System.Linq.Enumerable.<SelectManyIterator>d__17`2.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at NServiceBus.Hosting.Profiles.ProfileManager.ActivateProfileHandlers(EndpointConfiguration config) in C:\BuildAgent\work\3fdd02ec65f005b\src\NServiceBus.Hosting.Windows\Profiles\ProfileManager.cs:line 104
at NServiceBus.GenericHost.PerformConfiguration(Action`1 moreConfiguration) in C:\BuildAgent\work\3fdd02ec65f005b\src\NServiceBus.Hosting.Windows\GenericHost.cs:line 82
at NServiceBus.GenericHost.<Start>d__1.MoveNext() in C:\BuildAgent\work\3fdd02ec65f005b\src\NServiceBus.Hosting.Windows\GenericHost.cs:line 53
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NServiceBus.Hosting.Windows.WindowsHost.Start() in C:\BuildAgent\work\3fdd02ec65f005b\src\NServiceBus.Hosting.Windows\WindowsHost.cs:line 32
Verify that:
- Assembly binding redirects in the
NServiceBus.
are correct and match with any entries generated in theHost. exe. config App.
file.config - All files in the deployment (sub)folder are correct and no old files are present from previous deployments.
Windows service fails to start due to reaching the timeout period
When a Windows service fails to transition into the SERVICE_RUNNING
state before timeout (i.e. fails to complete the start sequence), the following exception messages may be seen in the Windows Event Viewer:
A timeout was reached (30000 milliseconds) while waiting for the XYZ service to connect.
The XYZ service failed to start due to the following error:
The service did not respond to the start or control request in a timely fashion
This often occurs when a dependency is not available in time during the start process. Another symptom is that the service will start at a later time without issue.
This problem can be mitigated by:
- If the service is started automatically, configuring the service to start with
delayed-auto
set, such that the service will not start until all other "automatic" services are started - Configuring service dependencies to ensure they are started before the service starts
- Enabling service recoverability to ensure the service will automatically restart in case start fails