将构建事件添加到多个项目中,无需一一添加
Add build event to multiple projects without adding one by one
我的解决方案中有超过 100 个项目,现在我必须向大多数项目添加一个 post-build 事件,以将一些非托管的第 3 方程序集复制到它的 $(TargetDir) 中,但我有将这个 post-build 事件一一添加到那些项目中,这不是我想要的。所以我想知道是否有一种方法可以解决这个问题,而不必为大多数项目逐一添加事件。
Add build event to multiple projects without adding one by one
您可以将复制目标添加到Directory.Build.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 包来管理那些非托管的第 3 方程序集,将此 nuget 包添加到多个项目应该很容易,使用 nuget 包管理器解决方案:
希望对您有所帮助。
我的解决方案中有超过 100 个项目,现在我必须向大多数项目添加一个 post-build 事件,以将一些非托管的第 3 方程序集复制到它的 $(TargetDir) 中,但我有将这个 post-build 事件一一添加到那些项目中,这不是我想要的。所以我想知道是否有一种方法可以解决这个问题,而不必为大多数项目逐一添加事件。
Add build event to multiple projects without adding one by one
您可以将复制目标添加到Directory.Build.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 包来管理那些非托管的第 3 方程序集,将此 nuget 包添加到多个项目应该很容易,使用 nuget 包管理器解决方案:
希望对您有所帮助。