将构建事件添加到多个项目,而无需逐个添加

时间:2018-03-06 17:38:34

标签: visual-studio msbuild post-build-event

我的解决方案中有100多个项目,现在我必须在大多数项目中添加一个post-build事件,将一些非托管第三方程序集复制到$(TargetDir)中,但是我必须添加这个后期构建事件一个接一个地到那些项目,这不是我想要的。所以我想知道是否有办法解决这个问题,而不必逐个为大多数项目添加事件。

1 个答案:

答案 0 :(得分:1)

  

将构建事件添加到多个项目而无需逐个添加

您可以将复制目标添加到Directory.Build.props文件中,并在解决方案目录中设置此.props。如果一个props文件被称为Directory.Build.props,它将自动导入到目录层次结构中的所有项目中。

在我的Directory.Build.props

下面
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="CopySAssembly" AfterTargets="Build">
      <Message Text="YourCopyTask"></Message>
    </Target>
</Project>

或者,您可以使用nuget包来管理那些非托管第三方程序集,将这个nuget包添加到多个项目应该非常容易,使用nuget包管理器解决方案:

Create nuget package from dlls

希望这有帮助。