The Autofac team is very busy trying to keep up with the .NET Core movement and are clearly suffering from legacy load. I understand that there are only two guys working on this hugely popular IOC ecosystem. The contrib project
Autofac.Extras.Attributed is dragging
Autofac (which is okay since latest stable today is 3.5.2) and
Autofac.Mef back to versions less than 4.0. The last time I swept through my NuGet packages I forgot about this drama and broke the B-Roll Player (
Songhay.Player) build which I flippantly pushed out to production.
The symptom of the break was CORS errors and the dreaded MVC, failed-to-load-assembly error. Until this drama is over I should remember that this
Web.config entry is a red flag:
<dependentAssembly> <assemblyIdentity name="Autofac.Integration.Mef" publicKeyToken="17863af14b0044da" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-188.8.131.52" newVersion="184.108.40.206" /> </dependentAssembly>
Autofac.Mef was erroneously upgraded by me to version 4.0, breaking
The drama does not end there. We also have this:
'Autofac.Owin 4.0.0' is not compatible with 'Autofac.Mvc5.Owin 3.1.0 constraint: Autofac.Owin (>= 3.1.0 && < 4.0.0)', 'Autofac.WebApi2.Owin 3.3.0 constraint: Autofac.Owin (>= 3.1.0 && < 4.0.0)'. 0
This is basically saying that
Autofac.Owin are in the same boat. The penalty for forgetting this is breaking the B-Roll player in production (which is my fault because I should at least run the site locally before publishing—and then consider upgrading my Azure App to a more professional tier).