Собственную библиотеку Nuget публикуют в 2 каталогах - PullRequest
0 голосов
/ 10 апреля 2019

Я создаю пакет 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?

...