我剛剛使用Ninject 3更新了我的應用程序。將App_Start中的文件從NinjectMVC3更改爲NinijectWebCommon.cs。感動我的文件,更新的DLL .. 現在我開始收到此錯誤:從Ninject 2移動到Ninject 3.綁定錯誤。確保提供程序正確處理創建請求
「錯誤使用激活字典{字符串,字符串}有條件的隱含的自我約束力的字典{字符串,字符串} 提供商返回null的 激活路徑: 4)依賴字典{字符串,字符串}注射入型MapWidgetViewModel的構造的參數widgetSettings 3)依賴IDetailedSearchResultCollectionWidget注射入型的構造MediaSourcesViewModel 2)依賴性ITabItem的注射參數mediaWidgets成的構造的參數的TabItems鍵入TabNavigationController 1)請求TabNavigationController
建議: 1)確保提供者正確處理創建請求。「
,這裏生成它的代碼:
public MediaSourcesViewModel(IEnumerable<IMediaSourcesDataProvider> dataProviders,
IEnumerable<IDetailedSearchResultCollectionWidget> mediaWidgets,
IMediaItemDetailsWidget itemDetailsWidget)
{
this.Description = "Source list";
this.ActionName = "DisplaySourcesAsPartial";
this.ControllerName = "MediaSources";
this.DefaultType = "MediaManagement";
_dataProviders = dataProviders;
MediaWidgets = new List<IDetailedSearchResultCollectionWidget>();
MediaWidgets.AddRange(mediaWidgets); //Set Tab Info
this.Name = "Sources";
}
的MapWidgetViewModel類被定義爲如下:
public class MapWidgetViewModel : IDetailedSearchResultCollectionWidget, IMapWidgetSettings
{
//constructor:
public MapWidgetViewModel(IEnumerable<IDetailedSearchResult> dataSet,
Dictionary<String,String> widgetSettings = null)
{
InitParentInterfaceProperties();
}
}
最後綁定:
kernel.Bind<IDetailedSearchResultCollectionWidget>().To<MapWidgetViewModel>();
沒有
kernel.Bind<MapWidgetViewModel>().ToSelf();
感謝任何想法如何解決此問題。
非常感謝!
亞歷