Added: New GleamTechConfiguration.EnsureAssemblies method which ensures GleamTech's assemblies are loaded and initialized.You may need to call this method in entry point/startup of your application, if you receive "Could not load file or assembly ..." errors.
Some DLLs are embedded inside GleamTech's DLLs and they are resolved automatically when they are requested howeverinternal AssemblyResolver should be initialized first and internal AssemblyResolver of each GleamTech DLL can be initializedonly when a type inside that DLL is accessed first. So in some cases, even a GleamTech DLL is loaded, its AssemblyResolvermay not be initialized yet (because none of its types is accessed yet). You can observe this behaviour if your applicationcalls some methods which scans assemblies for reflection purpose (reflection-only type access does not trigger DLL's module initializer),for example ASP.NET Core's endpoints.MapControllers method and SimpleInjector's RegisterMvcControllers method.So to prevent errors on those methods, you can call this method before such methods.
Note that you should not need to call this method usually for web applications, because it is handled automaticallyas we can know when the application is started by hooking up (automatically in ASP.NET Classic and when you call AddGleamTech andUseGleamTech methods in ASP.NET Core).
An error occurred while starting the application.MissingMethodException: Method not found: 'GleamTech.Reflection.IConstructorInvoker GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.ConstructorInfo)'.Unknown locationMissingMethodException: Method not found: 'GleamTech.Reflection.IFieldAccessor GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.FieldInfo)'.Unknown locationReflectionTypeLoadException: Unable to load one or more of the requested types.Method not found: 'GleamTech.Reflection.IConstructorInvoker GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.ConstructorInfo)'.Method not found: 'GleamTech.Reflection.IFieldAccessor GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.FieldInfo)'.System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)Loader Exceptions:Method not found: 'GleamTech.Reflection.IConstructorInvoker GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.ConstructorInfo)'.Method not found: 'GleamTech.Reflection.IFieldAccessor GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.FieldInfo)'.MissingMethodException: Method not found: 'GleamTech.Reflection.IConstructorInvoker GleamTech.Reflection.IFastReflectionFactory`2.Create(System.Reflection.ConstructorInfo)'.
Unknown location
System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
Added: .NET 5.0 support:
AspNetCoreSession will use JsonConvert instead of BinaryFormatter.BinaryFormatter serialization methods are obsolete and prohibited in ASP.NET Core 5.
Obfuscation caused problems in .NET 5 which seems more sensitive about reflection metadata.For example, ASP.NET Core 5.0 throws MissingMethodException -> ReflectionTypeLoadException when Assembly.DefinedTypesis called e.g. by endpoints.MapRazorPages() or endpoints.MapControllerRoute().
Trouble logging in? Simply enter your email address OR username in order to reset your password.
For faster and more reliable delivery, add notify@gleamtech.com to your trusted senders list in your email software.