【发布时间】:2018-03-07 09:38:01
【问题描述】:
我的解决方案中有 100 多个项目,现在我必须向大多数项目添加构建后事件,以将一些非托管的 3rd 方程序集复制到其 $(TargetDir) 中,但我必须添加此构建后事件事件对那些项目一一进行,这不是我想要的。所以我想知道是否有办法解决这个问题,而不必为大多数项目一个一个地添加事件。
【问题讨论】:
标签: visual-studio msbuild post-build-event
我的解决方案中有 100 多个项目,现在我必须向大多数项目添加构建后事件,以将一些非托管的 3rd 方程序集复制到其 $(TargetDir) 中,但我必须添加此构建后事件事件对那些项目一一进行,这不是我想要的。所以我想知道是否有办法解决这个问题,而不必为大多数项目一个一个地添加事件。
【问题讨论】:
标签: visual-studio msbuild post-build-event
将构建事件添加到多个项目中,无需一一添加
您可以将复制目标添加到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 包来管理那些非托管的 3rd 方程序集,将此 nuget 包添加到多个项目应该很容易,使用 nuget 包管理器解决方案:
Create nuget package from dlls
希望这会有所帮助。
【讨论】: