哪个命名空间在 Castle Windsor 中拥有 Component.For?

Which Namespace holds Component.For in Castle Windsor?

我正在学习 Castle Windsor,我找到了 this tutorial。其中,有这样的代码:

private void button1_Click(object sender, EventArgs e)
{
    // CREATE A WINDSOR CONTAINER OBJECT AND REGISTER THE INTERFACES, AND THEIR CONCRETE IMPLEMENTATIONS.
    var container = new WindsorContainer();
    container.Register(Component.For<Main>());
    container.Register(Component.For<IDependency1>().ImplementedBy<Dependency1>());
    container.Register(Component.For<IDependency2>().ImplementedBy<Dependency2>());

    // CREATE THE MAIN OBJECT AND INVOKE ITS METHOD(S) AS DESIRED.
    var mainThing = container.Resolve<Main>();
    mainThing.DoSomething();
}

我正在跟进,但是 Component.For 调用为我抛出编译器错误。 Intellisense 找不到 Component。我应该为这个调用使用什么命名空间?

我通过 NuGet 添加了 Castle.CoreCastle.Windsor 引用。我一直在搜索对象浏览器,试图找到 Component,但这是一个很常见的名称。本教程不便地遗漏了* using,我找不到任何文档。

* 我发现很多教程和 Whosebug 答案都遗漏了 using,我永远也弄不明白为什么。

它在 Castle.MicroKernel.Registration

有时这也让我很恼火,但如果项目是开源的,通常很容易搜索 their repository