2011-11-23 3 views
0

MVC 웹 프로젝트, 인프라 프로젝트, 서비스 프로젝트 및 데이터 프로젝트가있는 솔루션이 있습니다. Visual Studio에서 NuGet의 ninject를 설치했습니다. "App_Start"라는 웹 프로젝트 폴더에 Ninject 코드 파일을 저장하면 응용 프로그램이 제대로 작동합니다.Ninject MVC 3 및 ​​생성자 또는 속성 외의 종속성 해결

제 문제는 속성 또는 생성자 인 웹 프로젝트 외부의 종속성을 해결해야한다는 것입니다.

내 서비스 프로젝트에서 내 클래스 중 하나에서 이것을 시도 :

var m_customerService = DependencyResolver.Current.GetService(typeof(ICustomerService)); 

이 매번 null를 돌려줍니다. 예를 들어 내 HomeController에서이 똑같은 것을 시도 할 때, 그것은 내가 예상했던 것과 똑같이 반환됩니다.

나는 그것이 프로젝트가 서로를 참조하는 방법과 관련이 있다고 생각합니다. 내 웹 프로젝트는 분명히 다른 모든 프로젝트를 참조합니다. Ninject 시작 코드를 Infrastructure 프로젝트로 이동하여 어디서나 액세스 할 수있게 할 생각입니다. 그렇게하는 것이 합리적입니까? 다른 사람이이 문제를 겪었거나 제가 누락 된 것이 있습니까?

위의 사항에 대한 도움이 필요합니다. 감사.

+0

"웹 프로젝트 외부"가 의미하는 바에 대해 더 자세히 설명해야 할 것입니다. –

+0

기본적으로 ninject mvc 3 NuGet 패키지를 설치하면 내 솔루션의 웹 사이트 프로젝트에 넣습니다. 내 솔루션에서 다른 프로젝트로 ninject를 이동할 수 있습니까? 그리고 그것은 DependencyResolver가 null이되는 문제를 해결할 수 있을까요? – user1061097

답변

0

문제가 해결되었습니다. 나는 Ninject를 내 솔루션의 모든 프로젝트에 걸친 다른 프로젝트로 이동 시켰고 서비스 클래스는 올바르게 작동하는 것 같습니다.

관련 문제