МР>Честно говоря, я не особо специалист и тоже сужу только по тому, что нашел в логах и в самих файлах .targets.
Спасибо Михаил!
вы навели меня на следующий вариант как сделать
<ItemGroup>
<None Include="..\Libraries\SQLite\sqlite3.dll">
<!-- здесь токо рут, нельзя в подпапку, тк тогда в OutDir копируется тоже в эту подпапку! -->
<Link>sqlite3.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
то есть, если добавить в проект А итем и ему CopyToOutputDirectory, то файлик появится в аутпут проекта Б (куда подцеплен А), и даже автоматом подтянется при паблише проекта Б!
вариант хороший, но недостаток что все такие итемы будут отображаться в корне проекта, в целом на это конечно можно забить, но хорошо было бы их поместить в папочку.
но в папочку помещать нельзя (вот так <Link>deps\sqlite3.dll</Link> ) так как в этом случае они в папке аутпута будут не в корне, а в подпапке (то есть будет такой bin\deps\sqlite3.dll )
Link отвечает за виртуальное имя (и путь) к итему, которое отображается в обозревателе проектов.
я думал над вариантом как бы сделать таргет который как-то проапгредит (или трансформирует) итемы такого типа (или с нужными метаданными), но пока не придумал как.. и можно ли так..