Unity.AutoRegistrationを使用して、インターフェイスを実装に自動的に配線しようとしています。私の構成は次のようになります。Unity.AutoRegistrationは自動登録ではありません
public static class UnityConfigurator
{
public static UnityContainer Configure()
{
var container = new UnityContainer();
container.ConfigureAutoRegistration()
.LoadAssemblyFrom(typeof(UnityConfigurator).Assembly.Location)
.LoadAssemblyFrom(typeof(ICountryFilterDataRepository).Assembly.Location)
.ExcludeSystemAssemblies()
.ExcludeAssemblies(a => a.GetName().FullName.Contains("Specs"))
.ApplyAutoRegistration();
return container;
}
}
しかし、明らかにマッピングが設定されていない暗示され、私はこのエラーを取得する:(働いていない:、
現在のタイプ、 Blah.IFooをあなたがタイプ マッピングが欠落しています。 インタフェースおよび構築することができないのですか?
は
私の設定コードと間違って何?ありがとう
を修正する必要がありますIFooのために配線する必要がありますか?あなたのインターフェイスと実装用のアセンブリが自動的にロードされていますか? –
@ThomasJaskula同じ名前のIFooはFooにマップされ、実装とインターフェイスは同じアセンブリ内にあります。 – Charlie
@Charlie AutoRegistrationに精通していませんが、ホームページにはIncludeも使用する必要があると思われます。 '.Include(If.Implements、Then.Register()。WithName(" Foo "))' –