Как я могу скопировать файлы нативной библиотеки пакета NuGet?

1

У меня есть пакет NuGet, управляемая библиотека которого зависит от собственной библиотеки. Я хочу скопировать родную зависимость в папку \\UnmanagedLibraries\Windows\x86 \, и я сделал следующий файл, который скопирован в папку сборки:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="CopyNativeReferences">

    <Message Text="$(MSBuildThisFileDirectory) => $(OutDir)\UnmanagedLibraries\Windows\x86\"></Message>    

     <Copy SourceFiles="$(MSBuildThisFileDirectory)..\native\UnmanagedLibraries\Windows\x86\SIMDArrayInstructions.dll" 
      DestinationFolder="$(OutDir)\UnmanagedLibraries\Windows\x86\" 
      SkipUnchangedFiles="true" />

    </Target>

   <PropertyGroup>
     <AfterBuildDependsOn>
        CopyNativeReferences;
     </AfterBuildDependsOn>
    </PropertyGroup>

    <Target Name="AfterBuild" DependsOnTargets="$(AfterBuildDependsOn)"/>
</Project>

Он отлично работает для одного пакета. Но у меня есть несколько пакетов NuGet, которым нужно скопировать свои родные ссылки. После установки пакета scond исходные ссылки для первого пакета не копируются. Кажется, что "AfterBuild" перезаписывается новым пакетом. Как я могу это решить (я также изменил имя raget и AfterBuildDependsOn, чтобы убедиться, что другие пакеты не имеют одинаковых имен целевых переменных, но это не помогло)?

Теги:
nuget

1 ответ

2
Лучший ответ

Определенная группа свойств должна выглядеть так:

PropertyGroup>
 <AfterBuildDependsOn>
    $(AfterBuildDependsOn);
    CopyNativeReferences;
 </AfterBuildDependsOn>
</PropertyGroup>
  • 0
    мы заметили, что наша цель иногда не вызывается, не может быть воспроизведена, но это происходит часто, даже если между прогонами ничего не произошло, были ли у вас похожие проблемы?
  • 0
    Я не могу вспомнить.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню