初始化ninject时,'Sequence不包含任何元素'异常

时间:2014-07-16 09:13:53

标签: c# ninject

我对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

5 个答案:

答案 0 :(得分:22)

就我而言,我的项目有两个具有相同/相似内容的NinjectWebCommon.cs文件夹。 删除文件夹已解决此问题。

答案 1 :(得分:6)

我的两个问题与@Pavan的帖子有关。重命名程序集后,我开始收到错误。我把旧的DLL留在bin文件夹中。清洁解决方案并没有解决它。我必须手动进入并删除bin的内容。

答案 2 :(得分:6)

通过替换整个解决方案中的文件名和其他文本,我在准备新解决方案时遇到了这种类型的错误。

一切都像应用程序一样完美。

但是,当我去运行应用程序时,它说我"序列不包含任何元素"错误。

最后我终于通过使用以下来解决这个问题.....

  1. 通过右键单击项目>>打开每个项目文件夹然后在文件资源管理器中选择"打开文件夹

  2. 删除' bin'和' obj'夹

  3. 清理整个项目

  4. 构建应用程序

  5. 最后运行该应用程序。

  6. 希望它对你有用....

    ...谢谢

答案 3 :(得分:3)

我认为这是这个问题的一个骗局:Ninject + MVC3 = InvalidOperationException: Sequence contains no elements

TL; DR - 确保在发布网站时清除所有旧dll。

答案 4 :(得分:0)

通过@Greg_B扩展有用答案的其他解释细节:

对解决方案中另一个也使用Ninject的项目的引用。删除此引用即可解决问题。