StructureMap 3.0.3.116 を使用してカスタム IRepository<,> でサービスを初期化し、SharpRepository を使用しても、structuremap はデフォルトの規則を使用して具体的なクラスを見つけることができません。
public interface IBlogImageRepository : IRepository<BlogImage,int>
{
}
public class BlogImageRepository :
ConfigurationBasedRepository<BlogImage, int>, IBlogImageRepository
{
エラー:
デフォルトのインスタンスは登録されておらず、タイプ 'My.Assembly.Repositories.IBlogImageRepository' に対して自動的に決定できません
ObjectFactory.Initialize(x =>
{
x.Scan(scan =>
{
scan.Assembly("S3.Libs");
scan.IncludeNamespace("S3.Libs.Repositories");
scan.IncludeNamespace("S3.Libs.Services");
scan.WithDefaultConventions();
scan.ConnectImplementationsToTypesClosing(typeof (IRepository<,>));
});
x.Scan(scan =>
{
scan.TheCallingAssembly();
scan.WithDefaultConventions();
});
});