Собственную библиотеку Nuget публикуют в 2 каталогах
Я создаю пакет nuget с родным lib. Мне было трудно, но я могу это сделать:)
Итак, структура моего пакета nuget:
build->
--->NativeLib.props
runtimes->
-->win
-->native
-->NativeLib.dll
NativeLib.props:
<Project DefaultTargets="Build"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Content Include="$(MSBuildThisFileDirectory)\..\runtimes\win\native\NativeLib.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>NativeLib.dll</Link>
</Content>
</ItemGroup>
</Project>
Итак, это работает. Но когда я публикую, он публикует в корневой выходной каталог, создает каталог времени выполнения и копирует в него этот файл.
Как отключить копирование родной библиотеки в каталог времени выполнения? Или, может быть, наоборот.
И похожий вопрос: я хочу упаковать unix-версию этой нативной библиотеки, поэтому я создам каталог: unix-> native-> NativeLib.so.
Но как сделать условие, что если он публикуется на платформе Win - он копируется из каталога win, а когда он публикуется на платформе Unix - копируется из каталога unix?
Должен ли я использовать ItemGroup Condition
?