PDA

View Full Version : سوال: ارور دادن هنگام استفاده از ninject



r4hgozar
دوشنبه 24 شهریور 1393, 06:54 صبح
نمی دونم دلیل ارور زیر چی می تونه باشه؟؟

http://www.upload7.ir/imgs/2014-09/80277952225728867322.png

r4hgozar
دوشنبه 24 شهریور 1393, 10:37 صبح
دوستان کسی نیست جواب بده؟

r4hgozar
دوشنبه 24 شهریور 1393, 10:38 صبح
من از کد زیر استفاده می کنم.


private static void RegisterServices(IKernel kernel)
{
kernel.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInt erfaces());


kernel.Bind(x =>
x.FromAssembliesMatching("Web.*")
.SelectAllClasses()
.BindDefaultInterface());
}

hakim22
دوشنبه 24 شهریور 1393, 13:22 عصر
این خط :


x.FromAssembliesMatching("Web.*")


یعنی در فضای نامی web. به دنبال کلاسها و اینترفیس ها بگرد و آنها را تزریق کن. مطمئن بشوید کلاسها و اینترفیس های شما در namespace درست قرار گرفته اند. (که فکر نمی کنم Web باشه)

r4hgozar
دوشنبه 24 شهریور 1393, 15:33 عصر
سلام.
درسته این نیست اما این رو تغییر دادم.
یک نگاه می کنم ممنون.

r4hgozar
دوشنبه 24 شهریور 1393, 19:45 عصر
اقای حکیم در نمونه کد شما فقط Nenject.MVC5 نصب شده و به طور خودکار پایینی ها هم نصب میشن

PM> Install-Package Ninject.MVC5
Attempting to resolve dependency 'Ninject (≥ 3.2.0.0 && < 3.3.0.0)'.
Attempting to resolve dependency 'Ninject.Web.Common.WebHost (≥ 3.0.0.0)'.
Attempting to resolve dependency 'Ninject.Web.Common (≥ 3.2.0.0 && < 3.3.0.0)'.


اما در پروژه شما فقط ninject.extensions.conventions نصب است؟
ایا این باعث اشکال مبشسه؟

r4hgozar
دوشنبه 24 شهریور 1393, 19:55 عصر
من ninject رو نصب می کنم و تو NinjectWebCommon.cs هم کد زیر رو می نویسم؟!!


kernel.Bind(x => x.FromThisAssembly().SelectAllClasses().BindAllInt erfaces());


kernel.Bind(x =>
x.FromAssembliesMatching("MyBlog.*")
.SelectAllClasses()
.BindDefaultInterface());