После дня копания, проб и ошибок можно использовать следующее решение для создания чистой, настраиваемой, стилизованной иерархии для папки сборки.
1) Добавьте 'probing privatePath = MyFolder' в файл App.config вашего проекта.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="MyFolder" />
</assemblyBinding>
</runtime>
</configuration>
2) Добавьте целевой файл с помощью AfterBuild в ваш файл проекта. (Откройте файл .csproj вашего приложения в текстовом редакторе) Затем добавьте один узел для каждой сборки .dll, которая только что была выгружена рядом с вашим .exe, с источником, указанным для dll сборки, которую вы хотите переместить, и с назначением, равным $ (OutDir) \ MyFolder
<Target Name="References" AfterTargets="AfterBuild">
<Move SourceFiles="$(OutDir)\MyAssemblyClutter.dll" DestinationFolder="$(OutDir)\MyFolder" />
</Target>
Примечание: Build> Clean не удалит ваши пользовательские папки или их содержимое после этого.
Для бонусных баллов ( благодарность Джейсону Морсу ), чтобы гарантировать, что пакеты NuGet не сохраняют свои файлы .pdf и документацию по отладке. xml файлы в вашей папке сборки выпуска, добавьте следующее в файл проекта в ' 'узел.
<AllowedReferenceRelatedFileExtensions>
<!-- Prevent default XML and PDB files copied to output in RELEASE. Only *.allowedextension files will be included-->
.allowedextension
</AllowedReferenceRelatedFileExtensions>