【发布时间】:2010-07-27 08:36:21
【问题描述】:
我有以下使用领域模型、StructureMap 和 Fluent NHibernate 的项目结构:
我遇到的问题是 Fluent NHibernate 需要以下所有内容作为网站的 bin 目录才能在运行时工作:
- Antlr3.Runtime.dll *
- Castle.Core.dll
- Castle.DynamicProxy2.dll
- FluentNHibernate.dll *
- Iesi.Collections.dll *
- log4net.dll *
- NHibernate.ByteCode.Castle.dll
- NHibernate.dll *
我遇到的问题是,并非所有这些程序集都输出到我网站的 bin 目录。目前只有带有* 的项目才能正确输出。 粗体中的项目在 bin 目录中丢失。
现在,我认为这是因为我没有将它们添加为我的Fluent NHibernate 项目的引用。我目前拥有的唯一参考资料是 NHibernate.dll 和 FluentNHibernate.dll。仅这两个引用就足以将标有* 的项目带入,但它们不会带入缺少的项目。
所以,然后我认为要让它们全部通过,我只需将它们添加为对Fluent NHibernate 项目的引用。不幸的是,这没有任何区别。 bin 目录中仍然缺少相同的项目。
我从来没有真正理解视觉工作室如何决定复制哪些程序集。我一直认为它是任何标记为 Copy Local=true 的程序集,但在这种情况下似乎并非如此。
当然,我可以将所有程序集引用添加到 Website,但这样就完全解决了通过 StructureMap 松散耦合项目的目的。
有谁知道为什么缺少程序集以及如何让它们正确复制?
【问题讨论】:
标签: visual-studio nhibernate visual-studio-2010 fluent-nhibernate structuremap