我对Ninject有一个问题,我以前没有见过,也不知道如何修复。我正在使用MVC NuGet包进行MVC 5。
在我的NinjectWebCommon.cs中,有以下方法:
public static void Start()
{
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
bootstrapper.Initialize(CreateKernel);
}
然而,当尝试执行最后一行时,它会失败,抱怨"序列不包含任何元素"。我之前使用的是Unity for DI,但已经改为Ninject。
有什么想法吗?
提前致谢,M
答案 0 :(得分:22)
就我而言,我的项目有两个具有相同/相似内容的NinjectWebCommon.cs文件夹。 删除文件夹已解决此问题。
答案 1 :(得分:6)
我的两个问题与@Pavan的帖子有关。重命名程序集后,我开始收到错误。我把旧的DLL留在bin文件夹中。清洁解决方案并没有解决它。我必须手动进入并删除bin的内容。
答案 2 :(得分:6)
通过替换整个解决方案中的文件名和其他文本,我在准备新解决方案时遇到了这种类型的错误。
一切都像应用程序一样完美。
但是,当我去运行应用程序时,它说我"序列不包含任何元素"错误。
最后我终于通过使用以下来解决这个问题.....
通过右键单击项目>>打开每个项目文件夹然后在文件资源管理器中选择"打开文件夹
删除' bin'和' obj'夹
清理整个项目
构建应用程序
最后运行该应用程序。
希望它对你有用....
...谢谢
答案 3 :(得分:3)
我认为这是这个问题的一个骗局:Ninject + MVC3 = InvalidOperationException: Sequence contains no elements
TL; DR - 确保在发布网站时清除所有旧dll。
答案 4 :(得分:0)
通过@Greg_B扩展有用答案的其他解释细节:
对解决方案中另一个也使用Ninject的项目的引用。删除此引用即可解决问题。