This version finally fixes interoperability issues that arise, because primitive built-in types like
String reside in assemblies with different name in .NET Core (
System.Private.CoreLib.dll) and .NET Framework (
mscorlib.dll). This led to
JobLoadException in .NET Framework-based applications, when they tried to perform background jobs created by a .NET Core-based one. The new version solves this problem by re-writing assembly name when resolving a type for a job and its parameters.
The new version also brings support for custom type resolver callbacks that you can specify by calling the
IGlobalConfiguration.UseTypeResolver method, so you can use it in non-trivial cases. Additionally, there’s now a way to strip assembly version and private key when resolving a type. This is useful, when you are storing your background jobs in signed assemblies and want to change its version without causing a lot of
JobLoadException. Please see the following code snippet to enable this behavior.
GlobalConfiguration.Configuration .UseXXX() .UseIgnoredAssemblyVersionTypeResolver();
- Added – Ability to use custom type resolvers to modify the type de-serialization logic.
JobLoadExceptionwhen processing jobs in .NET Framework, which were created in .NET Core.
JobLoadExceptionwhen jobs reside in a signed assembly and a new version is deployed.
- Fixed – Don’t produce extra logging message when there’s an exception in a worker.
- Fixed – Ensure form values are properly returned when there are different versions of Microsoft.Owin (by @DC-jc).
- Fixed – Dashboard fails with 404 “Not Found” error if there’s a trailing slash for some reason.
Added – Connection factory overload for the
SqlServerStorageclass (by @chinwobble).
- Fixed – Inability to use package with Azure’s managed service identity (by using a connection factory).