名称空间'Castle'中不存在类型或命名空间名称'MicroKernel'(您是否缺少程序集引用?)

时间:2011-05-22 04:40:18

标签: castle-windsor

我是温莎城堡的新手,想要学习它。

我从这里http://www.castleproject.org/castle/download.html

下载了Windsor 2.5.3 for .net4

我使用vs2010构建了我的第一个控制台应用程序并尝试使用。

以下是我的代码(非常简单)

using Castle.Windsor;
using Castle.MicroKernel.Registration;


namespace ConsoleApplication2
{
class Program
{
    static void Main(string[] args)
    {
        WindsorContainer wc = new WindsorContainer();

        wc.Register(Component.For<I>().ImplementedBy<C>());

        var v = wc.Resolve<I>();

        var result = v.M();
    }
}

public class C : I
{
    public string P1 { get; set; }
    public int M()
    {
        return 100;
    }
}

public interface I
{
    int M();
}

}

但它没有被编译,错误消息说:

  

名称空间“城堡”中不存在类型或命名空间名称“MicroKernel”(您是否缺少程序集引用?)

     

名称空间'Castle'中不存在类型或命名空间名称'Windsor'(您是否缺少程序集引用?)

我实际上引用了castle.core和castle.windsor dll和intellisense工作正常直到编译....

我还注意到,当我在引用中双击castle.windsor时,它没有在对象浏览器窗口中显示命名空间层次结构。

我甚至评论了我的所有代码,它仍然无法编译,同样的错误消息说。

请告诉我该怎么办才能让它运转起来。真的很感激!!

1 个答案:

答案 0 :(得分:9)

问题可能是您项目的目标框架。

打开项目属性,查找目标框架下拉列表。如果它说.Net Framework 4.0 Client Profile,请将其更改为.Net Framework 4.0。