Cannot instantiate implementation type '*****Repository`1[TEntity]' for service type '****.IRepository`1[TEntity]'


如上報錯是在依賴注入時出錯的
上代碼

點擊查看代碼
                        Assembly asmCore = Assembly.Load("DealerPlatform.Core");
			Type resitoryType = asmCore.GetTypes().FirstOrDefault(m => m.Name == "Repository`1");
			Type interFaceType = resitoryType?.GetInterface("IRepository`1");
			return services.AddTransient(interFaceType, resitoryType);
問題原因是:反射去獲取泛型接口,泛型類時有問題,至於原因是什么,目前我還不知道 想要反射獲取類型進行注入,再寫一個普通的類,讓反射類繼承它,讀取的時候直接讀取它即可 坑的要命,一下午又沒了。。。。。。。。。 修改之后的代碼
點擊查看代碼
                        var asmCore = Assembly.Load("DealerPlatform.Core");
			
			var test = asmCore.GetTypes();
			var interFaceTypes = asmCore.GetTypes().Where(m => m.IsAssignableTo(typeof(IRepository))
			&& !m.IsInterface
			&& !m.IsAbstract);
			foreach (var interFaceType in interFaceTypes)
			{
				services.AddTransient(typeof(IRepository<>), interFaceType);
			}
			return services;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM