External assemblies, versioning, nuget

I am evaluating Hangfire and have the following requirements:

  • All jobs which get executed should rely in external assemblies, not referenced directly in the Hangfire project.
  • Different version of the job assemblies should be supported. Eg. on production we run EmailJob v1.1, on staging we need EmailJob v1.2. Hangfire should be able to execute both assembly versions on the same server
  • Hangfire should pick the assemblies from a directory, or even better from an internal NuGet server an cache them.
  • Autoscale on Azure depending on CPU usage and #jobs in queue

I this possible with Hangfire? Any ideas how to solve this?