Копирование referenced dll в выходную директорию сборки (copy referenced and nuget dll to output directory) vs 2019

Возник следующий вопрос.

Microsoft Visual Studio 2019, Net.Framework 4.5, нужно копировать dll от которых зависит проект в выходную директорию. Часть dll установлена через nuget, а часть просто в виде ссылок из каталогов в проекте. Выходной путь проектов по умолчанию изменен на "....\build\bin\Debug". Нужно, чтобы при сборке библиотеки, которые есть в зависимостях проектов, попадали в выходную директорию. Как это сделать?

Даже если для dll проставлено "Copy local", то она все равно не попадает в каталог сборки. Для этого, написаны pre-build и post-build events, по типу:

if NOT EXIST "$(TargetDir)Libs\Log4Net" (
      mklink /D "$(TargetDir)Libs\Log4Net" "$(SolutionDir)lib\log4net"
      )

Но для пакетов nuget не знаю как это сделать, т.к. их версии могут меняться, да и хотелось бы чтобы это делалось автоматом. Ссылки на пакеты nuget лежат в файле packages.config (можно конечно и на PackageReference переделать), но вот как при сборке MSBuild указать, чтобы он копировал нужные dll, не знаю...Пробовал что-то типа такого:

<Target Name="CopyPackage" AfterTargets="Pack">
  <Copy
    SourceFiles="$(OutputPath)..\$(PackageId).$(PackageVersion).nupkg"
    DestinationFolder="\\myshare\packageshare\"
    />
</Target>

Не помогло, не подхватываются существующие PackageReferences в .csproj.


Ответы (0 шт):