1

我正在开发广泛使用 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 .MyAppto.NHibernate

4

1 回答 1

0

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

当您换出包含实现的程序集时,生成的输出仍然有效。

于 2013-05-04T19:22:26.297 回答