Добавить событие сборки в несколько проектов, не добавляя один за другим
У меня есть более 100 проектов в моем решении, теперь я должен добавить событие после сборки в большинство проектов, чтобы скопировать некоторые неуправляемые сторонние сборки в его $(TargetDir), но я должен добавить это событие после сборки проекты по одному, что не то, что я хочу. Поэтому я хочу знать, есть ли способ решить эту проблему без добавления события для большинства проектов один за другим.
1 ответ
Добавить событие сборки в несколько проектов, не добавляя один за другим
Вы можете добавить цель копирования в 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 для управления этими неуправляемыми сторонними сборками. Добавить этот пакет nuget в несколько проектов очень просто, для этого используйте менеджер пакетов nuget:
Надеюсь это поможет.