ASP.NET WebAPIで、Nugetで更新をしたらAutofacがエラーするようになった場合の対処(継承セキュリティ ルールの違反)

ASP.NETのWebAPIアプリケーションで、Autofacを使っている場合、

  • Autofac
  • Autofac.WebApi

を使用していると思う。
しかし、WebAPI関係のNugetを更新すると、


Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()' のオーバーライド中に、継承セキュリティ ルールの違反が発生しました。オーバーライドするメソッドのセキュリティ アクセシビリティは、オーバーライドされるメソッドのセキュリティ アクセシビリティと一致している必要があります。

Autofac 継承セキュリティ ルールの違反

System.TypeLoadException はユーザー コードによってハンドルされませんでした。
HResult=-2146233054
Message=メンバー 'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()' のオーバーライド中に、継承セキュリティ ルールの違反が発生しました。オーバーライドするメソッドのセキュリティ アクセシビリティは、オーバーライドされるメソッドのセキュリティ アクセシビリティと一致している必要があります。

というエラーがでて、どうやっても解消できなくなってしまう。

いちどプロジェクトを作り直したりしたけど、やっぱりダメ。。。。

いろいろと先人たちの知恵をぐぐってみると、今のところの解決法は、
一旦 Autofac.WebApi を削除してから、


PM> Install-Package Autofac.WebApi5 -Pre
を行うことでエラーがなくなる。

検索で日本語のページは一切引っかからなかったので、同じエラーに遭遇した人のためここにメモ。