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