仅当代码发生更改时,才在MS Build中更新程序集版本

本文关键字:Build MS 才在 更新 版本 程序集 代码 | 更新日期: 2023-09-27 18:24:45

我是MSBuild的新手。我编写了内联脚本,在那里我可以提高程序集版本。我能够成功地更新assemblyinfo.cs文件

此任务每次都会增加程序集版本,即使没有代码更改。如果没有代码更改,是否有任何方法可以签入MSBuild脚本以不增加assemblyinfo.cs文件中的程序集版本。

在我的Visual studio解决方案中有多个项目,所以我只需要更新那些更改了某些代码的项目的dll。

仅当代码发生更改时,才在MS Build中更新程序集版本

我可以通过以下代码解决上述问题

基本上我们需要覆盖目标,当检测到任何代码更改时,MSBuild会调用此目标(基本上MSBuild将根据程序集的更改日期时间戳进行检测)

预编译

您可以浏览Microsoft提供的内置属性和项目组的列表。

内置属性和项目组列表

<Target Name="BeforeCompile"
      Inputs="@(Compile);
        @(ReferencePath);
        $(MSBuildAllProjects);"
      Outputs="@(IntermediateAssembly)">
  ***** ADD YOUR CUSTOM CODE HERE ****
</Target>