Running an job in console app is throwing System.MissingMethodException


#1

I am trying to run a job via a dotnet core console app. The job was queued via a web.api server. I can see the job being picked up by the console app but am getting

System.MissingMethodException
Cannot create an instance of an interface.

 System.MissingMethodException: Cannot create an instance of an interface.
    at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean wrapExceptions, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& hasNoDefaultCtor)
    at System.RuntimeType.CreateInstanceDefaultCtorSlow(Boolean publicOnly, Boolean wrapExceptions, Boolean fillCache)
    at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, Boolean wrapExceptions)
    at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
    at System.Activator.CreateInstance(Type type)
    at Hangfire.JobActivator.ActivateJob(Type jobType)
    at Hangfire.JobActivator.SimpleJobActivatorScope.Resolve(Type type)
    at Hangfire.Server.CoreBackgroundJobPerformer.Perform(PerformContext context)
    at Hangfire.Server.BackgroundJobPerformer.<>c__DisplayClass9_0.<PerformJobWithFilters>b__0()
    at Hangfire.Server.BackgroundJobPerformer.InvokePerformFilter(IServerFilter filter, PerformingContext preContext, Func`1 continuation)
    at Hangfire.Server.BackgroundJobPerformer.<>c__DisplayClass9_1.<PerformJobWithFilters>b__2()
    at Hangfire.Server.BackgroundJobPerformer.PerformJobWithFilters(PerformContext context, IEnumerable`1 filters)
    at Hangfire.Server.BackgroundJobPerformer.Perform(PerformContext context)
    at Hangfire.Server.Worker.PerformJob(BackgroundProcessContext context, IStorageConnection connection, String jobId)

My job is create via this code
BackgroundJob.Enqueue<IMessage>(m => m.SayHello());

public interface IMessage
{
    [Queue("bas-hello")]
    void SayHello();
}

public class Message : IMessage
{
    public Message()
    {

    }

    public void SayHello()
    {
        Console.WriteLine("lets say hello");
    }
}

Any ideas on this ?