【问题标题】:How do you install Castle Windsor IOC?如何安装温莎城堡国际奥委会?
【发布时间】:2011-02-15 16:56:10
【问题描述】:

我目前正在阅读 Sanderson 的 Pro ASP.NET MVC Framework。在书中,他建议使用 Castle Windsor 设置 IoC,并指出下载会自动安装它并在 GAC 中注册 Castle DLL。好吧,在这个时间点(2010 年 5 月 4 日),Castle Project 不再有可下载的安装程序来设置它。它全部分解成各自的子项目,原始文件包含在压缩文件夹中。遗憾的是,我找不到有关如何设置它的安装文档。作为菜鸟,我被困住了,现在不得不问#1 温莎城堡应该住在我的硬盘上哪里? #2 如何正确手动注册 dll?还有,#3 我应该对项目维护者的疏忽感到愤怒吗?

这是链接: http://www.castleproject.org/castle/download.html

【问题讨论】:

    标签: asp.net-mvc castle-windsor


    【解决方案1】:

    Sanderson 的书关于 Castle - ASP.NET MVC 集成已经有些过时了。

    这里真的没有疏忽,Castle 开发团队认为项目太大而无法有效管理,所以他们split it。所以现在这些新项目中的每一个都作为一个单独的包发布,其中包括必要的 DLL。

    没有安装程序,因为它真的没有必要。与大多数开源 .Net 库(如 NHibernate、log4net、Rhino.Mocks、Moq 等)一样,您可以获得 DLL,将其放在项目的某个目录中(大多数人称之为 libDependencies) ,然后从您的项目中添加对此目录中 DLL 的引用。完全不需要与 GAC 纠缠。

    您还需要获得MvcContrib(上面写着MVCContrib.Extras.release.zip),它实现了Windsor - ASP.NET MVC 集成(控制器工厂和注册控制器的扩展等)。事实上,MvcContrib 已经包含了 Windsor,所以这就是你真正需要的。

    【讨论】:

    • 我也是根据 Sanderson 的书实现的。我刚刚得到 Castle dll 文件并将它们放在我项目的本地目录中,然后设置对它们的引用。我拥有的文件是:Castle.Core.dll、Castle.DynamicProxy.dll、Castle.MicroKernel.dll、Castle.Windsor.dll。我不确定我是否需要所有这些,但如果我需要,我就有了。
    • @Scott:只需获取 MvcContrib,它就在那里。
    • 因此,从事物的声音来看,MvcContrib 将执行与 CastleWindsor 相同的 IoC 来处理关注点分离。那是对的吗?放弃桑德森的书并转向另一个来源会更好吗?如果是这样,你推荐什么书或网站来学习 MVC?
    • @user300266:不,MvcContrib 只是胶水。实际的 IoC 容器是 Windsor。我没有桑德森的书,但我猜只有这一点已经过时了。例如,我认为书中有一个WindsorControllerFactory 实现。知道它是如何工作的没关系,但实际的位已经在 MvcContrib 中,所以你不需要自己键入代码。
    【解决方案2】:

    您正在寻找 Castle MicroKernel/Windsor 项目:http://www.castleproject.org/container/index.html

    这是“入门”页面的链接: http://www.castleproject.org/container/gettingstarted/part1/index.html

    下载 ZIP 文件后,将其解压缩到硬盘上的已知位置(在 Visual Studio 解决方案目录内是正常的)。

    按照“入门”指南,它会逐步指导您在项目中引用哪些 DLL,以及如何使用它

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多