【问题标题】:Auto compiling a dependent project without having a dependency on it自动编译依赖项目而不依赖它
【发布时间】:2013-05-05 03:22:26
【问题描述】:

我正在开发广泛使用 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.NHibernate 的显式引用

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-29
      • 1970-01-01
      • 2016-04-05
      • 2013-01-30
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 2017-08-01
      相关资源
      最近更新 更多