我是温莎城堡的新手,想要学习它。
我从这里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时,它没有在对象浏览器窗口中显示命名空间层次结构。
我甚至评论了我的所有代码,它仍然无法编译,同样的错误消息说。
请告诉我该怎么办才能让它运转起来。真的很感激!!
答案 0 :(得分:9)
问题可能是您项目的目标框架。
打开项目属性,查找目标框架下拉列表。如果它说.Net Framework 4.0 Client Profile,请将其更改为.Net Framework 4.0。