Если ваш вопрос спрашивает, есть ли простой файл конфигурации или что-то подобное, где вы можете написать «скопировать содержимое пакета X в папку Y», то нет.
Для большинства людей разница между различными Компоненты в системе сборки не важны, поэтому для них не имеет значения, копирует ли что-то NuGet, копирует ли SDK своего проекта или MSBuild. Однако, поскольку вы сейчас пытаетесь сделать что-то более продвинутое, эти различия могут быть важными. NuGet только записывает / копирует файлы при восстановлении (и, следовательно, только в папку пакетов, а не в папку вывода проекта), но после восстановления NuGet вообще не запускается. NuGet просто сообщает файлы остальной части системы сборки, и эти компоненты отвечают за решение, что делать. Например, куда копировать файлы.
Поскольку в проектах C ++ и. NET используется MSBuild, могут использоваться одни и те же методы отладки. Из «командной строки разработчика» создайте свой проект с помощью переключателя -bl
, чтобы создать файл «msbuild.binlog». Вы можете открыть этот файл с помощью MSBuild структурированного журнала . Затем вы можете использовать поиск, чтобы найти, где в сборке копируется каждая dll и каковы аргументы копирования (включая место назначения). Вы также можете посмотреть, где был создан элемент, который определил файл для копирования. Затем вы можете записать цель MSBuild в ваш файл проекта (или другой файл, который импортируется вашим файлом проекта), который запускается в соответствующее время и обновляет элемент, чтобы указать место назначения, в которое вы хотите скопировать файл. Но MSBuild - это язык сценариев, и вы сказали, что не хотите писать сценарий, поэтому вам может не понравиться такой подход. И если вы еще не знакомы со сценариями MSBuild, это, вероятно, больше усилий, чем написание сценария PowerShell. Но, по крайней мере, это произойдет автоматически как часть сборки (и, следовательно, произойдет при сборке и отладке в Visual Studio), а не как какой-то другой процесс, который нужно запускать вручную.