自动编译依赖项目而不依赖于它

时间:2013-05-04 15:00:41

标签: visual-studio-2012 compilation dependencies spring.net dependency-management

我正在开发使用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(可以通过 me 硬编码,例如在编译后的脚本中)部署到bin目录中?

在上面的Org.Zighinetto.MyApp示例中,我希望一旦Org.Zighinetto.MyApp.dll被编译,VS就会编译和部署Org.Zighinetto.MyApp.NHibernate.dll而没有.MyApp到{{1}的明确引用}}

1 个答案:

答案 0 :(得分:0)

项目文件中的依赖项不会使得到的程序集以任何方式依赖于这些引用的文件。您可以在开发期间安全地拥有依赖项并编译项目。

当换出包含实现的程序集时,结果输出仍然有效。