当前位置:  开发笔记 > 编程语言 > 正文

MSBuild将另一个项目的副本输出复制到当前项目的输出中

如何解决《MSBuild将另一个项目的副本输出复制到当前项目的输出中》经验,为你挑选了1个好方法。

我有一种情况,我想使用MSBuild将输出程序集从一个项目复制到我的目标应用程序的输出目录中,而不需要在MSBuild Copy任务中使用硬编码路径.这是场景:

项目A - Web应用程序项目

项目B - Dal接口项目

项目C - 达尔实施项目

还有一个Business层,但与我想要解决的MSBuild问题无关.

我的业务层有一个对我的Dal.Interface项目的引用.我的Web项目有一个对Business层的引用,并且就目前而言,执行构建会将业务层和Dal.Interface项目拉入输出.到现在为止还挺好.现在,为了运行Web应用程序,它需要Dal实现.我不想在任何地方引用实现,因为我想对接口强制执行编码而没有引用意味着它不会出现在intellisense等中.

所以我认为我可以通过MSBuild复制操作作为AfterBuild任务来处理这个问题(我在构建Web项目时构建了Dal实现设置,但没有引用).我不想在MSBuild参数中硬编码路径或其他任何东西,所以我试图弄清楚如何从Web应用程序项目的MSBuild文件中引用Dal项目的输出.

所以根据上面提到的项目,我想看到的是:

    Web应用程序构建开始了

    所有必需的项目都已构建(已配置,因此已完成)

    MSBuild"AfterBuild"任务启动,Project C(Dal Implementation)的输出被复制到Project A的Web目录(Web应用程序)

第3部分是我被困的地方.

我确信这可以做到,我只是找不到帮助的好参考.在此先感谢您的帮助.



1> Andrew Van S..:

我已经做了这个工作,虽然我很想找到一个更清晰的解决方案,它可以在MSBuild中获得内置参数的优势(比如$(TargetDir)等,但是指向我想要获取输出的项目).无论如何,这就是我所做的:




我希望看到一个更清洁的解决方案,但现在应该这样做.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有