1

列挙可能なコレクションを解決できるようにしたいIRepository<T> where T : IDocument

私のレジストリ クラスでは、次の登録コードを追加しました。

this.For<IRepository<IDocument>>().Add<Repository<Document>>();
this.For<IRepository<IDocument>>().Add<Repository<AnotherDocumentType>>();

クラスDocumentAnotherDocumentType実装の両方のインターフェイスIDocument、およびRepository<T>実装しIRepository<T>ます。構造マップは初めてで、エラー メッセージがよくわかりません。関連するすべてのクラスには、デフォルトのコンストラクターがあります。

Structuremap が次のエラーをスローしています。テスト期間: 0:00:00.138309

結果メッセージ: テスト メソッド my.test.IoCTest.can_resolve_a_collection_of_document_repositories が例外をスローしました: StructureMap.Exceptions.StructureMapConfigurationException: StructureMap 構成エラー: エラー: 104 ソース: レジストリ: StructureMap.Configuration.DSL.Registry、StructureMap、Version=2.6.4.0、Culture=ニュートラル、PublicKeyToken=e60ad81abae3c223 タイプ インスタンス '613169b9-b8d9-4c80-868a-d6aa47e3d95c' (my.data.Impl.Repositories.Repository 1[[my.domain.Document, my.domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], my.data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null) cannot be plugged into type my.data.IRepository1 の構成済みインスタンス[[my.domain.IDocument、my.domain、Version=1.0.0.0、 Culture=neutral、PublicKeyToken=null]]、my.data、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null

エラー: 104 ソース: レジストリ: StructureMap.Configuration.DSL.Registry、StructureMap、Version=2.6.4.0、Culture=neutral、PublicKeyToken=e60ad81abae3c223 タイプ インスタンス '2196350f-0c64-4bd2-92af-9946f1e11862' (my.data の構成済みインスタンス.Impl.Repositories.Repository 1[[my.domain.AnotherDocumentType, my.domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], my.data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null) cannot be plugged into type my.data.IRepository1[[my.domain.IDocument, my.domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], my.data, Version=1.0.0.0, Culture=neutral, PublicKeyToken =ヌル

結果の StackTrace: c:\BuildAgent\work\767273992e840853\src\StructureMap\Diagnostics\GraphLog.cs の StructureMap.Diagnostics.GraphLog.AssertFailures(): c:\BuildAgent の StructureMap.Container.construct(PluginGraph pluginGraph) の 68 行目\work\767273992e840853\src\StructureMap\Container.cs: c:\BuildAgent\work\767273992e840853\src\StructureMap\Container.cs: StructureMap.ObjectFactory の 55 行目の StructureMap.Container..ctor(PluginGraph pluginGraph) の 576 行目c:\BuildAgent\work\767273992e840853\src\StructureMap\ObjectFactory.cs: 65 行目の my.test.IoCTest.can_resolve_a_collection_of_document_repositories() の d:\Projects\level\my\mtrunk\ の .Initialize(Action`1 アクション) src\my.test\IoCTest.cs:51行目

4

2 に答える 2