LINQ不在IEnumerable上工作

LINQ不在IEnumerable上工作,linq,ienumerable,intellisense,autofac,Linq,Ienumerable,Intellisense,Autofac,我正在使用Autofac(我已经在一个控制台应用程序中注册了基本nuget软件包),想看看注册列表 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Autofac; namespace ConsoleApplication2 { class Program { stat

我正在使用Autofac(我已经在一个控制台应用程序中注册了基本nuget软件包),想看看注册列表

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            // First, create your application-level defaults using a standard
            // ContainerBuilder, just as you are used to.
            var builder = new ContainerBuilder();
            var appContainer = builder.Build();


            appContainer.ComponentRegistry.Registrations.Where(x => true);
        }
    }
}
问题在于线路

appContainer.ComponentRegistry.Registrations.Where(x => true);
在这里,intellisense并没有给我Where linq方法,但据我所知,它确实可以编译,并且没有任何警告和消息中的错误

我试着再往下一点

   IEnumerable<string> list = new List<string>();

    list.Where(x => true);
然而,如果我直接尝试这个,我会得到同样的结果

 var builder = new ContainerBuilder();
 var appContainer = builder.Build();
 appContainer.ComponentRegistry.Registrations.Where(x => true);
此外,IComponentRegistry定义为(在Autofac中)

公共接口IComponentRegistry:IDisposable
{
...
IEnumerable注册{get;}
...
}

尝试将linq表达式指定给一个变量,并查看它是否有效


如果我理解正确的话,你的问题是intellisense没有在线工作

appContainer.ComponentRegistry.Registrations.Where(x => true); 

你可能应该试着禁用你的插件,看看这是否能解决它,因为它对我来说工作得很好。既然你说你有其他人确认过了,那就从你安装的插件开始吧

我也让其他人尝试过,他们也有同样的问题。我还上传了一个演示,显示如果我理解正确,intellisense无法工作,您的问题是intellisense无法在appContainer.ComponentRegistry.Registrations.Where(x=>true)行上工作;你可能应该试着禁用你的插件,看看这是否能解决它,因为它对我来说工作得很好。既然你说你有其他人确认过,也许可以从你安装的所有插件开始。我还记得intellisense在VS2012中完全丢失的一些问题,通常通过重新启动VS来解决。但你描述的方式似乎不是选择性的。为了将来的参考,这是为了将来的参考
 var builder = new ContainerBuilder();
 var appContainer = builder.Build();
 appContainer.ComponentRegistry.Registrations.Where(x => true);
public interface IComponentRegistry : IDisposable
{
    ...
    IEnumerable<IComponentRegistration> Registrations { get; }
    ...
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac;

namespace ConsoleApplication2
{
  class Program
   {
    static void Main(string[] args)
    {
        // First, create your application-level defaults using a standard
        // ContainerBuilder, just as you are used to.
        var builder = new ContainerBuilder();
        var appContainer = builder.Build();


        var registrations = appContainer.ComponentRegistry.Registrations.Where(x => x.Target.Equals("test"));
    }
 }
}
appContainer.ComponentRegistry.Registrations.Where(x => true);