私は次のように私の一般的なリポジトリのすべての実装を登録しようとしている:登録 - typeパラメータの不一致
container.Register(typeof(IRepository<>), new[] { typeof(Repository<>).Assembly });
しかし、コンテナは私の設定を確認することはできません。
追加情報:設定が無効です。 IErrorLogServiceタイプの インスタンスを作成できませんでした。 ErrorLogServiceのコンストラクターには、 'errorLogRepository'という名前のパラメーターが含まれています。 と入力してください。登録されていないIRepository < ErrorLog> IRepository < ErrorLog>が登録されていることを確認してください。 ErrorLogServiceのコンストラクタを変更してください。異なる タイプPersistence.Interfaces.Repository.Generic.IRepository < T> 要求されたタイプでありながら Persistence.Interfaces.Repository.Generic.IRepository < Persistence.DataModel.ErrorLog>の登録が存在することに留意されたいです。
various SO threadsに基づいて、上のスニペットが行くべき方法です。私は何を取りこぼしたか?
マイリポジトリクラス:
public class Repository<T> : IRepository<T> where T : Entity { }
IRepository
とRepository
同じアセンブリ内に存在します。
各タイプの明示的な登録が動作します:あなたは、そのマニュアルの状態を使用している
container.Register<IRepository<ErrorLog>, Repository<ErrorLog>>();
さまざまなSOスレッドへのリンクをご提供ください。 – Enigmativity
@Steven申し訳ありませんが、私のアップデートは助けましたか? – Johan