0

MSBuild 能否捕获它在构建期间“迄今为止”构建的项目列表?

我想要一个@(ProjectsBuilt)我可以访问的假设项目列表,其中列出了csproj已完成构建的文件。

您可能会问“为什么要使用此功能?” 抽象地说,它与更新或导出依赖项有关——尤其是在增量构建设置中。我举两个例子:

  • Visual Studio 解决方案包含许多“插件”项目。当一些插件被更新和构建时,一个通用脚本“捕获”哪些项目被构建,并立即启动 nuget 打包和存储库上传。
  • Visual Studio 解决方案包含“实现”项目和“接口”项目。换句话说,一些生成的程序集旨在导出以用于其他解决方案。在进行了一些代码更改后,构建任何和所有项目所产生的“接口”程序集随后被导出到一个特殊的“公共”文件夹以供其他应用程序使用。

当然,上述问题可以通过让每个“导出”或“插件”项目包含一个构建后脚本来应用适当的依赖项导出步骤来解决。但是要求在每个参与的 VS 项目中添加构建后步骤是反 DRY 的。

如果 MS build 只是简单地记录“到目前为止”已构建的项目,那么在适当的构建步骤中,所有必要的“依赖项导出”都可以从一个集中的 msbuild 位置一举完成。此功能所针对的项目根本不需要任何每个项目的构建步骤。好的!

4

0 回答 0