AutofacContrib.NSubstitute:升级到AutoFac6和v6.2.2后的TypeLoadException

问题描述

无论何时调用新的AutoSubstitute();AutoSubstitute.Configure().Build();

System.TypeLoadException:程序集'AutofacContrib.NSubstitute,版本= 4.9.4.0,Culture = neutral,PublicKeyToken = null'中类型'AutofacContrib.NSubstitute.NSubstituteRegistrationHandler'中的方法'RegistrationsFor'没有实现。 在AutofacContrib.NSubstitute.AutoSubstituteBuilder.InternalBuild() 在AutofacContrib.NSubstitute.AutoSubstituteBuilder.Build()

解决方法

每当进行重大升级时(库的版本以整数形式递增-从5.0.0到6.0.0递增),最好检查发行说明。整数递增表示存在重大变化。

The Autofac release notes for v6.0.0特别注意:

重大更改:

...

IRegistrationSource实现需要更新RegistrationsFor方法签名。

我认为AutofacContrib.NSubstitute库本身并未进行升级,但是也没有指定它不适用于Autofac v6。

如果我是你,我会向AutofacContrib.NSubstitute库提出问题以进行修复。