我正在开发广泛使用 Spring.net 的 ASP.NET MVC。
我在不同的程序集中实现了很多服务。使用 Spring 和抽象接口的目的是将应用程序与服务的实现分离。例如,数据访问层目前由 NHibernate 实现,但该解决方案旨在允许改变这一点。
所以我从外部程序集中定义了很多 Spring 对象,例如
<object id="RepositoryFactory" type="Org.Zighinetto.MyApp.NHibernateBasedRepositoryFactory, Org.Zighinetto.MyApp,NHibernate" />
众所周知,这可以作为Org.Zighinetto.MyApp.NHibernate.dll
示例程序集使用
- 在GAC
- 在
bin
目录中
到今天为止,为了通过按 F5 进行快速调试,我已经设置了从主项目到它所依赖的所有项目的依赖关系。众所周知,Spring 旨在让我们削减项目之间的依赖关系,但在这种情况下,我使用依赖关系只是告诉 Visual Studio 自动编译和部署 DLL,否则我每次都必须复制正确的 DLL想调试我的项目。
问题很简单:鉴于我想编译,至少在发布模式下,我的 DLL没有不需要的依赖项,我如何确保 Visual Studio 在我按下 F5 时自动编译和部署所有 Spring 所需的 DLL(我可以在某个地方(例如在后编译脚本中)将其硬编码到 bin 目录中?
在上面的Org.Zighinetto.MyApp
例子中,我希望一旦Org.Zighinetto.MyApp.dll
被编译,VS 编译和部署也Org.Zighinetto.MyApp.NHibernate.dll
没有明确的引用 from .MyApp
to.NHibernate