我有一个情况,希望使用MSBuild将一个项目的输出汇入到目标应用程序的输出目录中,而不需要在我的MSBuild复制任务中硬编码路径。以下是场景:
- A项目-Web应用程序项目
- B项目-Dal接口项目
- C项目-Dal实现项目
还有一个业务层,但与我要解决的MSBuild问题无关。
我的业务层引用了Dal.Interface项目。我的Web项目引用了Business层,并且按照现状,进行构建将会将Business层和Dal.Interface项目导入到输出中。目前为止一切顺利。现在为了使Web应用程序运行起来,它需要Dal实现。我不想在任何地方引用实现,因为我想强制执行对接口的编码,没有引用意味着它不会出现在智能提示中等等。
所以,我想通过MSBuild复制操作作为“AfterBuild”任务来处理这个问题(我已经设置了Dal Implementation以在Web项目构建时构建,只是没有引用)。我不想在MSBuild参数中硬编码路径或其他任何东西,因此我正在尝试找出如何从Web应用程序项目的MSBuild文件中引用Dal项目的输出。
所以,基于上述项目,这就是我希望看到的结果:
- 启动Web应用构建
- 所有必需的项目都在构建(已经配置,因此完成了)
- MSBuild“AfterBuild”任务启动,并将C项目(Dal Implementation)的输出复制到A项目(Web应用程序)的Bin目录中。
第3点是我遇到的问题。
我相信这可以做到,只是找不到一个好的参考来帮助解决。提前感谢任何帮助。